_ca_content: changed: false false_condition: cifmw_openshift_setup_ca_registry_to_add is defined skip_reason: Conditional result was False skipped: true _cifmw_kuttl_xml_files: changed: false examined: 22 failed: false files: - atime: 1764767510.445762 ctime: 1764767503.7655709 dev: 64513 gid: 1000 gr_name: zuul inode: 25330653 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764767503.7655709 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-openstack.xml pw_name: zuul rgrp: true roth: true rusr: true size: 438 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764767932.656849 ctime: 1764767909.7381928 dev: 64513 gid: 1000 gr_name: zuul inode: 25329955 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764767909.7381928 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-barbican.xml pw_name: zuul rgrp: true roth: true rusr: true size: 562 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764769166.6702645 ctime: 1764769143.7256045 dev: 64513 gid: 1000 gr_name: zuul inode: 25320020 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764769143.7256045 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-keystone.xml pw_name: zuul rgrp: true roth: true rusr: true size: 998 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764769595.834604 ctime: 1764769595.834604 dev: 64513 gid: 1000 gr_name: zuul inode: 25329519 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764769595.834604 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-horizon.xml pw_name: zuul rgrp: true roth: true rusr: true size: 566 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 4 msg: All paths examined skipped_paths: {} _component_repo: changed: false false_condition: content_provider_registry_ip is defined skip_reason: Conditional result was False skipped: true _current_podified_hash: changed: false false_condition: cifmw_repo_setup_component_name | length > 0 skip_reason: Conditional result was False skipped: true _current_rh_release: changed: false false_condition: ansible_distribution == 'RedHat' skip_reason: Conditional result was False skipped: true _dlrn_repo: changed: false false_condition: content_provider_registry_ip is defined skip_reason: Conditional result was False skipped: true _file_result: changed: false false_condition: cifmw_repo_setup_component_name | length > 0 skip_reason: Conditional result was False skipped: true _get_hash: changed: true cmd: - /home/zuul/ci-framework-data/venv/repo-setup/bin/repo-setup-get-hash - --dlrn-url - https://trunk.rdoproject.org - --os-version - centos9 - --release - antelope - --tag - current-podified - --json delta: '0:00:00.266429' end: '2025-12-03 11:29:15.131557' failed: false msg: '' rc: 0 start: '2025-12-03 11:29:14.865128' stderr: '' stderr_lines: [] stdout: '{"commit_hash": null, "distro_hash": null, "full_hash": "fa2bb8efef6782c26ea7f1675eeb36dd", "extended_hash": null, "dlrn_url": "https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5", "dlrn_api_url": "https://trunk.rdoproject.org/api-centos9-antelope", "os_version": "centos9", "release": "antelope", "component": null, "tag": "current-podified"}' stdout_lines: - '{"commit_hash": null, "distro_hash": null, "full_hash": "fa2bb8efef6782c26ea7f1675eeb36dd", "extended_hash": null, "dlrn_url": "https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5", "dlrn_api_url": "https://trunk.rdoproject.org/api-centos9-antelope", "os_version": "centos9", "release": "antelope", "component": null, "tag": "current-podified"}' _hostnames: changed: true msg: All items completed results: - ansible_loop_var: item changed: true cmd: - hostname delta: '0:00:00.004586' end: '2025-12-03 13:39:59.818443' failed: false invocation: module_args: _raw_params: hostname _uses_shell: false argv: null chdir: null creates: null executable: null removes: null stdin: null stdin_add_newline: true strip_empty_ends: true item: crc msg: '' rc: 0 start: '2025-12-03 13:39:59.813857' stderr: '' stderr_lines: [] stdout: crc stdout_lines: - crc - ansible_loop_var: item changed: true cmd: - hostname delta: '0:00:00.005166' end: '2025-12-03 13:40:00.232380' failed: false invocation: module_args: _raw_params: hostname _uses_shell: false argv: null chdir: null creates: null executable: null removes: null stdin: null stdin_add_newline: true strip_empty_ends: true item: controller msg: '' rc: 0 start: '2025-12-03 13:40:00.227214' stderr: '' stderr_lines: [] stdout: controller stdout_lines: - controller - ansible_loop_var: item changed: true cmd: - hostname delta: '0:00:00.005280' end: '2025-12-03 13:40:00.472199' failed: false invocation: module_args: _raw_params: hostname _uses_shell: false argv: null chdir: null creates: null executable: null removes: null stdin: null stdin_add_newline: true strip_empty_ends: true item: localhost msg: '' rc: 0 start: '2025-12-03 13:40:00.466919' stderr: '' stderr_lines: [] stdout: controller stdout_lines: - controller skipped: false warnings: - Platform linux on host localhost is using the discovered Python interpreter at /usr/bin/python3.9, but future installation of another Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-core/2.15/reference_appendices/interpreter_discovery.html for more information. _included_dir: changed: false failed: false stat: atime: 1764761468.5586903 attr_flags: '' attributes: [] block_size: 4096 blocks: 0 charset: binary ctime: 1764761467.5436609 dev: 64513 device_type: 0 executable: true exists: true gid: 1000 gr_name: zuul inode: 62999110 isblk: false ischr: false isdir: true isfifo: false isgid: false islnk: false isreg: false issock: false isuid: false mimetype: inode/directory mode: '0755' mtime: 1764761467.5436609 nlink: 2 path: /home/zuul/ci-framework-data/artifacts/parameters pw_name: zuul readable: true rgrp: true roth: true rusr: true size: 172 uid: 1000 version: '4036784927' wgrp: false woth: false writeable: true wusr: true xgrp: true xoth: true xusr: true _included_file: changed: false failed: false stat: atime: 1764761469.711724 attr_flags: '' attributes: [] block_size: 4096 blocks: 8 charset: us-ascii checksum: 29056a5c64c41a26ffb5df50b8ba1f6dad5f3962 ctime: 1764761467.5436609 dev: 64513 device_type: 0 executable: false exists: true gid: 1000 gr_name: zuul inode: 75620867 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mimetype: text/plain mode: '0644' mtime: 1764761467.1656497 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml pw_name: zuul readable: true rgrp: true roth: true rusr: true size: 116 uid: 1000 version: '582692024' wgrp: false woth: false writeable: true wusr: true xgrp: false xoth: false xusr: false _install_yamls_override_vars: BMO_SETUP: false _network: api_found: true changed: false failed: false resources: - apiVersion: operator.openshift.io/v1 kind: Network metadata: creationTimestamp: '2025-02-23T05:12:01Z' generation: 3 managedFields: - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:clusterNetwork: {} f:defaultNetwork: f:ovnKubernetesConfig: f:egressIPConfig: {} f:gatewayConfig: f:ipv4: {} f:ipv6: {} f:genevePort: {} f:ipsecConfig: f:mode: {} f:mtu: {} f:policyAuditConfig: f:destination: {} f:maxFileSize: {} f:maxLogFiles: {} f:rateLimit: {} f:syslogFacility: {} f:type: {} f:deployKubeProxy: {} f:disableMultiNetwork: {} f:disableNetworkDiagnostics: {} f:logLevel: {} f:managementState: {} f:observedConfig: {} f:operatorLogLevel: {} f:serviceNetwork: {} f:unsupportedConfigOverrides: {} f:useMultiNetworkPolicy: {} manager: cluster-network-operator/operconfig operation: Apply time: '2025-02-23T05:21:19Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:clusterNetwork: {} f:defaultNetwork: f:type: {} f:disableNetworkDiagnostics: {} f:managementState: {} f:observedConfig: {} f:serviceNetwork: {} f:unsupportedConfigOverrides: {} manager: cluster-network-operator/clusterconfig operation: Apply time: '2025-12-03T11:20:37Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Degraded"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"ManagementStateDegraded"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Upgradeable"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:version: {} manager: cluster-network-operator/status-manager operation: Apply subresource: status time: '2025-12-03T11:20:58Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: .: {} f:defaultNetwork: .: {} f:openshiftSDNConfig: .: {} f:mtu: {} f:disableNetworkDiagnostics: {} f:logLevel: {} f:operatorLogLevel: {} manager: cluster-bootstrap operation: Update time: '2025-02-23T05:12:01Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:status: .: {} f:conditions: .: {} k:{"type":"ManagementStateDegraded"}: .: {} f:status: {} f:type: {} f:readyReplicas: {} manager: network-operator operation: Update subresource: status time: '2025-02-23T05:21:22Z' name: cluster resourceVersion: '28452' uid: 8d01ddba-7e05-4639-926a-4485de3b6327 spec: clusterNetwork: - cidr: 10.217.0.0/22 hostPrefix: 23 defaultNetwork: openshiftSDNConfig: mtu: 1400 ovnKubernetesConfig: egressIPConfig: {} gatewayConfig: ipv4: {} ipv6: {} routingViaHost: false genevePort: 6081 ipsecConfig: mode: Disabled mtu: 1400 policyAuditConfig: destination: 'null' maxFileSize: 50 maxLogFiles: 5 rateLimit: 20 syslogFacility: local0 type: OVNKubernetes deployKubeProxy: false disableMultiNetwork: false disableNetworkDiagnostics: false logLevel: Normal managementState: Managed observedConfig: null operatorLogLevel: Normal serviceNetwork: - 10.217.4.0/23 unsupportedConfigOverrides: null useMultiNetworkPolicy: false status: conditions: - lastTransitionTime: '2025-02-23T05:21:22Z' message: '' reason: '' status: 'False' type: ManagementStateDegraded - lastTransitionTime: '2025-12-03T11:20:58Z' message: '' reason: '' status: 'False' type: Degraded - lastTransitionTime: '2025-02-23T05:21:11Z' message: '' reason: '' status: 'True' type: Upgradeable - lastTransitionTime: '2025-12-03T11:20:58Z' message: '' reason: '' status: 'False' type: Progressing - lastTransitionTime: '2025-02-23T05:22:38Z' message: '' reason: '' status: 'True' type: Available readyReplicas: 0 version: 4.18.1 _oc_version: changed: false cmd: oc version --client -o yaml failed: false failed_when_result: false msg: '[Errno 2] No such file or directory: b''oc''' rc: 2 stderr: '' stderr_lines: [] stdout: '' stdout_lines: [] _parsed_vars: changed: false content: Y2lmbXdfa3V0dGxfb3BlbnN0YWNrX3ByZXBfdmFyczoKICAgIE5FVFdPUktfTVRVOiAxNTAwCiAgICBOTkNQX0ROU19TRVJWRVI6IDE5Mi4xNjguMTIyLjEwCiAgICBOTkNQX0lOVEVSRkFDRTogZW5zNwo= encoding: base64 failed: false source: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml _pod_status: changed: false false_condition: cifmw_openshift_setup_apply_marketplace_fix skip_reason: Conditional result was False skipped: true _pv_info: api_found: true changed: false failed: false resources: - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/bound-by-controller: 'yes' pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:20:31Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:pv.kubernetes.io/bound-by-controller: {} f:spec: f:claimRef: .: {} f:apiVersion: {} f:kind: {} f:name: {} f:namespace: {} f:resourceVersion: {} f:uid: {} manager: kube-scheduler operation: Update time: '2025-12-03T13:20:31Z' name: local-storage01-crc resourceVersion: '195969' uid: ec392b31-99aa-47a3-8b33-076eef58603d spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: mysql-db-openstack-galera-1 namespace: keystone-kuttl-tests resourceVersion: '195952' uid: d13dd3d0-ad0d-412f-8416-7369feb88a4c local: path: /mnt/openstack/pv01 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:20:31Z' phase: Bound - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage02-crc resourceVersion: '195204' uid: 670daf48-e7ab-4871-aa8b-6e8aea658a3d spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv02 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage03-crc resourceVersion: '195206' uid: eb0afc61-da43-4fb3-bd72-2833a8bc12ed spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv03 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage04-crc resourceVersion: '195208' uid: 32370f71-1430-47a2-88f0-89c51d7b039b spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv04 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage05-crc resourceVersion: '195210' uid: 437c7404-34bd-420a-9efb-71beb3585402 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv05 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage06-crc resourceVersion: '195212' uid: fa20a051-0d4f-4c6d-9d5f-1b0eddb2506d spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv06 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage07-crc resourceVersion: '195214' uid: cb566dfa-aa5d-4ebe-98f2-d3e1786124ea spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv07 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage08-crc resourceVersion: '195216' uid: e2906b29-bbd4-4b01-a977-109cb4398ca2 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv08 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{"pv.kubernetes.io/provisioned-by":"crc-devsetup"},"labels":{"provisioned-by":"crc-devsetup"},"name":"local-storage09-crc"},"spec":{"accessModes":["ReadWriteOnce","ReadWriteMany","ReadOnlyMany"],"capacity":{"storage":"10Gi"},"local":{"path":"/mnt/openstack/pv09","type":"DirectoryOrCreate"},"nodeAffinity":{"required":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"kubernetes.io/hostname","operator":"In","values":["crc"]}]}]}},"persistentVolumeReclaimPolicy":"Delete","storageClassName":"local-storage","volumeMode":"Filesystem"}} ' pv.kubernetes.io/bound-by-controller: 'yes' pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:09:59Z' deletionGracePeriodSeconds: 0 deletionTimestamp: '2025-12-03T13:19:01Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/last-applied-configuration: {} f:labels: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: kubectl-client-side-apply operation: Update time: '2025-12-03T13:09:59Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:pv.kubernetes.io/provisioned-by: {} f:labels: f:provisioned-by: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:12:23Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:13:45Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:pv.kubernetes.io/bound-by-controller: {} f:spec: f:claimRef: .: {} f:apiVersion: {} f:kind: {} f:name: {} f:namespace: {} f:resourceVersion: {} f:uid: {} manager: kube-scheduler operation: Update time: '2025-12-03T13:13:45Z' name: local-storage09-crc resourceVersion: '194870' uid: 69782be7-f629-4b3d-b62f-7499b22b9392 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: mysql-db-openstack-galera-2 namespace: barbican-kuttl-tests resourceVersion: '189025' uid: c9adb70e-0b52-43e2-abe6-5ffa1336f8f3 local: path: /mnt/openstack/pv09 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:13:45Z' phase: Bound - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage10-crc resourceVersion: '195218' uid: 1775b9ab-cc6b-486a-ab79-290b12f20b27 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv10 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage11-crc resourceVersion: '195220' uid: 8c1f8275-9324-415e-b681-d7e333c967e1 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv11 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage12-crc resourceVersion: '195222' uid: 9415dfd9-51b4-4bac-a4c0-127765cb6963 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv12 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available _tmp_dir: changed: true failed: false gid: 1000 group: zuul mode: '0700' owner: zuul path: /tmp/ansible.d5tjy9uv secontext: unconfined_u:object_r:user_tmp_t:s0 size: 6 state: directory uid: 1000 _url_status: changed: false false_condition: content_provider_registry_ip is defined skip_reason: Conditional result was False skipped: true _yaml_files: changed: false examined: 5 failed: false files: - atime: 1764761334.6147957 ctime: 1764761331.0516944 dev: 64513 gid: 1000 gr_name: zuul inode: 79768480 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761330.7286854 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 17537 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3656263 ctime: 1764761453.059239 dev: 64513 gid: 1000 gr_name: zuul inode: 71587043 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.8812337 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 28055 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3796268 ctime: 1764761406.6458867 dev: 64513 gid: 1000 gr_name: zuul inode: 75555799 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761406.4868822 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 2047 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.380627 ctime: 1764761452.1852133 dev: 64513 gid: 1000 gr_name: zuul inode: 54941085 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.005208 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 280 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761469.711724 ctime: 1764761467.5436609 dev: 64513 gid: 1000 gr_name: zuul inode: 75620867 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761467.1656497 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml pw_name: zuul rgrp: true roth: true rusr: true size: 116 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 5 msg: All paths examined skipped_paths: {} _yum_repos: changed: false examined: 2 failed: false files: - atime: 1764761103.6102178 ctime: 1764562362.236 dev: 64513 gid: 0 gr_name: root inode: 13001090 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1752170717.0 nlink: 1 path: /etc/yum.repos.d/centos-addons.repo pw_name: root rgrp: true roth: true rusr: true size: 4245 uid: 0 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764707684.838 ctime: 1764707666.21 dev: 64513 gid: 0 gr_name: root inode: 13001091 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764707666.21 nlink: 1 path: /etc/yum.repos.d/centos.repo pw_name: root rgrp: true roth: true rusr: true size: 2600 uid: 0 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 2 msg: All paths examined skipped_paths: {} ansible_all_ipv4_addresses: - 192.168.122.11 - 38.102.83.45 ansible_all_ipv6_addresses: - fe80::f816:3eff:fea2:9e9c ansible_apparmor: status: disabled ansible_architecture: x86_64 ansible_bios_date: 04/01/2014 ansible_bios_vendor: SeaBIOS ansible_bios_version: 1.15.0-1 ansible_board_asset_tag: NA ansible_board_name: NA ansible_board_serial: NA ansible_board_vendor: NA ansible_board_version: NA ansible_chassis_asset_tag: NA ansible_chassis_serial: NA ansible_chassis_vendor: QEMU ansible_chassis_version: pc-i440fx-6.2 ansible_check_mode: false ansible_cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f ansible_collection_name: null ansible_config_file: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ansible.cfg ansible_connection: local ansible_date_time: date: '2025-12-03' day: '03' epoch: '1764769642' epoch_int: '1764769642' hour: '13' iso8601: '2025-12-03T13:47:22Z' iso8601_basic: 20251203T134722282483 iso8601_basic_short: 20251203T134722 iso8601_micro: '2025-12-03T13:47:22.282483Z' minute: '47' month: '12' second: '22' time: '13:47:22' tz: UTC tz_dst: UTC tz_offset: '+0000' weekday: Wednesday weekday_number: '3' weeknumber: '48' year: '2025' ansible_default_ipv4: address: 38.102.83.45 alias: eth0 broadcast: 38.102.83.255 gateway: 38.102.83.1 interface: eth0 macaddress: fa:16:3e:a2:9e:9c mtu: 1500 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' type: ether ansible_default_ipv6: {} ansible_dependent_role_names: [] ansible_device_links: ids: sr0: - ata-QEMU_DVD-ROM_QM00001 labels: sr0: - config-2 masters: {} uuids: sr0: - 2025-12-03-11-15-46-00 vda1: - fcf6b761-831a-48a7-9f5f-068b5063763f ansible_devices: sr0: holders: [] host: '' links: ids: - ata-QEMU_DVD-ROM_QM00001 labels: - config-2 masters: [] uuids: - 2025-12-03-11-15-46-00 model: QEMU DVD-ROM partitions: {} removable: '1' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: mq-deadline sectors: '964' sectorsize: '2048' size: 482.00 KB support_discard: '2048' vendor: QEMU virtual: 1 vda: holders: [] host: '' links: ids: [] labels: [] masters: [] uuids: [] model: null partitions: vda1: holders: [] links: ids: [] labels: [] masters: [] uuids: - fcf6b761-831a-48a7-9f5f-068b5063763f sectors: '83883999' sectorsize: 512 size: 40.00 GB start: '2048' uuid: fcf6b761-831a-48a7-9f5f-068b5063763f removable: '0' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: none sectors: '83886080' sectorsize: '512' size: 40.00 GB support_discard: '512' vendor: '0x1af4' virtual: 1 ansible_diff_mode: false ansible_distribution: CentOS ansible_distribution_file_parsed: true ansible_distribution_file_path: /etc/centos-release ansible_distribution_file_variety: CentOS ansible_distribution_major_version: '9' ansible_distribution_release: Stream ansible_distribution_version: '9' ansible_dns: nameservers: - 192.168.122.10 - 199.204.44.24 - 199.204.47.54 ansible_domain: '' ansible_effective_group_id: 1000 ansible_effective_user_id: 1000 ansible_env: BASH_FUNC_which%%: "() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n}" DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus DEBUGINFOD_IMA_CERT_PATH: '/etc/keys/ima:' DEBUGINFOD_URLS: 'https://debuginfod.centos.org/ ' HOME: /home/zuul LANG: en_US.UTF-8 LESSOPEN: '||/usr/bin/lesspipe.sh %s' LOGNAME: zuul MOTD_SHOWN: pam PATH: /home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PWD: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl SELINUX_LEVEL_REQUESTED: '' SELINUX_ROLE_REQUESTED: '' SELINUX_USE_CURRENT_RANGE: '' SHELL: /bin/bash SHLVL: '2' SSH_CLIENT: 38.102.83.114 56214 22 SSH_CONNECTION: 38.102.83.114 56214 38.102.83.45 22 USER: zuul XDG_RUNTIME_DIR: /run/user/1000 XDG_SESSION_CLASS: user XDG_SESSION_ID: '10' XDG_SESSION_TYPE: tty _: /usr/bin/python3 which_declare: declare -f ansible_eth0: active: true device: eth0 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 38.102.83.45 broadcast: 38.102.83.255 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' ipv6: - address: fe80::f816:3eff:fea2:9e9c prefix: '64' scope: link macaddress: fa:16:3e:a2:9e:9c module: virtio_net mtu: 1500 pciid: virtio1 promisc: false speed: -1 timestamping: [] type: ether ansible_eth1: active: true device: eth1 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 192.168.122.11 broadcast: 192.168.122.255 netmask: 255.255.255.0 network: 192.168.122.0 prefix: '24' macaddress: fa:16:3e:a9:87:42 module: virtio_net mtu: 1500 pciid: virtio5 promisc: false speed: -1 timestamping: [] type: ether ansible_facts: _ansible_facts_gathered: true all_ipv4_addresses: - 192.168.122.11 - 38.102.83.45 all_ipv6_addresses: - fe80::f816:3eff:fea2:9e9c ansible_local: {} apparmor: status: disabled architecture: x86_64 bios_date: 04/01/2014 bios_vendor: SeaBIOS bios_version: 1.15.0-1 board_asset_tag: NA board_name: NA board_serial: NA board_vendor: NA board_version: NA chassis_asset_tag: NA chassis_serial: NA chassis_vendor: QEMU chassis_version: pc-i440fx-6.2 cifmw_discovered_hash: 75a77d833a2ec47d10d7dfd7dba41dfe3c1be7e7e14ae5ab42563f9fb0e5e2d8 cifmw_discovered_hash_algorithm: sha256 cifmw_discovered_image_name: CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_discovered_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images//CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_install_yamls_defaults: ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 ADOPTED_TENANT_NETWORK: 172.9.1.0/24 ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_BRANCH: main ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator ANSIBLEE_COMMIT_HASH: '' BARBICAN: config/samples/barbican_v1beta1_barbican.yaml BARBICAN_BRANCH: main BARBICAN_COMMIT_HASH: '' BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml BARBICAN_DEPL_IMG: unused BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git BARBICAN_SERVICE_ENABLED: 'true' BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sE**********U= BAREMETAL_BRANCH: main BAREMETAL_COMMIT_HASH: '' BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest BAREMETAL_OS_CONTAINER_IMG: '' BAREMETAL_OS_IMG: '' BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git BAREMETAL_TIMEOUT: 20m BASH_IMG: quay.io/openstack-k8s-operators/bash:latest BGP_ASN: '64999' BGP_LEAF_1: 100.65.4.1 BGP_LEAF_2: 100.64.4.1 BGP_OVN_ROUTING: 'false' BGP_PEER_ASN: '64999' BGP_SOURCE_IP: 172.30.4.2 BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 BMAAS_INSTANCE_DISK_SIZE: '20' BMAAS_INSTANCE_MEMORY: '4096' BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas BMAAS_INSTANCE_NET_MODEL: virtio BMAAS_INSTANCE_OS_VARIANT: centos-stream9 BMAAS_INSTANCE_VCPUS: '2' BMAAS_INSTANCE_VIRT_TYPE: kvm BMAAS_IPV4: 'true' BMAAS_IPV6: 'false' BMAAS_LIBVIRT_USER: sushyemu BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 BMAAS_METALLB_POOL_NAME: baremetal BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 BMAAS_NETWORK_NAME: crc-bmaas BMAAS_NODE_COUNT: '1' BMAAS_OCP_INSTANCE_NAME: crc BMAAS_REDFISH_PASSWORD: password BMAAS_REDFISH_USERNAME: admin BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default BMAAS_SUSHY_EMULATOR_DRIVER: libvirt BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack BMH_NAMESPACE: openstack BMO_BRANCH: release-0.9 BMO_CLEANUP: 'true' BMO_COMMIT_HASH: '' BMO_IPA_BRANCH: stable/2024.1 BMO_IRONIC_HOST: 192.168.122.10 BMO_PROVISIONING_INTERFACE: '' BMO_REPO: https://github.com/metal3-io/baremetal-operator BMO_SETUP: false BMO_SETUP_ROUTE_REPLACE: 'true' BM_CTLPLANE_INTERFACE: enp1s0 BM_INSTANCE_MEMORY: '8192' BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal BM_INSTANCE_NAME_SUFFIX: '0' BM_NETWORK_NAME: default BM_NODE_COUNT: '1' BM_ROOT_PASSWORD: '' BM_ROOT_PASSWORD_SECRET: '' CEILOMETER_CENTRAL_DEPL_IMG: unused CEILOMETER_NOTIFICATION_DEPL_IMG: unused CEPH_BRANCH: release-1.15 CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml CEPH_IMG: quay.io/ceph/demo:latest-squid CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml CEPH_REPO: https://github.com/rook/rook.git CERTMANAGER_TIMEOUT: 300s CHECKOUT_FROM_OPENSTACK_REF: 'true' CINDER: config/samples/cinder_v1beta1_cinder.yaml CINDERAPI_DEPL_IMG: unused CINDERBKP_DEPL_IMG: unused CINDERSCH_DEPL_IMG: unused CINDERVOL_DEPL_IMG: unused CINDER_BRANCH: main CINDER_COMMIT_HASH: '' CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git CLEANUP_DIR_CMD: rm -Rf CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' CRC_HTTPS_PROXY: '' CRC_HTTP_PROXY: '' CRC_STORAGE_NAMESPACE: crc-storage CRC_STORAGE_RETRIES: '3' CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' CRC_VERSION: latest DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret DATAPLANE_ANSIBLE_USER: '' DATAPLANE_COMPUTE_IP: 192.168.122.100 DATAPLANE_CONTAINER_PREFIX: openstack DATAPLANE_CONTAINER_TAG: current-podified DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest DATAPLANE_DEFAULT_GW: 192.168.122.1 DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned DATAPLANE_NETWORKER_IP: 192.168.122.200 DATAPLANE_NETWORK_INTERFACE_NAME: eth0 DATAPLANE_NOVA_NFS_PATH: '' DATAPLANE_NTP_SERVER: pool.ntp.org DATAPLANE_PLAYBOOK: osp.edpm.download_cache DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 DATAPLANE_RUNNER_IMG: '' DATAPLANE_SERVER_ROLE: compute DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' DATAPLANE_TIMEOUT: 30m DATAPLANE_TLS_ENABLED: 'true' DATAPLANE_TOTAL_NETWORKER_NODES: '1' DATAPLANE_TOTAL_NODES: '1' DBSERVICE: galera DESIGNATE: config/samples/designate_v1beta1_designate.yaml DESIGNATE_BRANCH: main DESIGNATE_COMMIT_HASH: '' DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git DNSDATA: config/samples/network_v1beta1_dnsdata.yaml DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml DNS_DEPL_IMG: unused DNS_DOMAIN: localdomain DOWNLOAD_TOOLS_SELECTION: all EDPM_ATTACH_EXTNET: 'true' EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' EDPM_COMPUTE_CELLS: '1' EDPM_COMPUTE_CEPH_ENABLED: 'true' EDPM_COMPUTE_CEPH_NOVA: 'true' EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' EDPM_COMPUTE_SRIOV_ENABLED: 'true' EDPM_COMPUTE_SUFFIX: '0' EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' EDPM_CONFIGURE_HUGEPAGES: 'false' EDPM_CONFIGURE_NETWORKING: 'true' EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra EDPM_NETWORKER_SUFFIX: '0' EDPM_TOTAL_NETWORKERS: '1' EDPM_TOTAL_NODES: '1' GALERA_REPLICAS: '' GENERATE_SSH_KEYS: 'true' GIT_CLONE_OPTS: '' GLANCE: config/samples/glance_v1beta1_glance.yaml GLANCEAPI_DEPL_IMG: unused GLANCE_BRANCH: main GLANCE_COMMIT_HASH: '' GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git HEAT: config/samples/heat_v1beta1_heat.yaml HEATAPI_DEPL_IMG: unused HEATCFNAPI_DEPL_IMG: unused HEATENGINE_DEPL_IMG: unused HEAT_AUTH_ENCRYPTION_KEY: 76**********f0 HEAT_BRANCH: main HEAT_COMMIT_HASH: '' HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests HEAT_KUTTL_NAMESPACE: heat-kuttl-tests HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git HEAT_SERVICE_ENABLED: 'true' HORIZON: config/samples/horizon_v1beta1_horizon.yaml HORIZON_BRANCH: main HORIZON_COMMIT_HASH: '' HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml HORIZON_DEPL_IMG: unused HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git INFRA_BRANCH: main INFRA_COMMIT_HASH: '' INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests INFRA_KUTTL_NAMESPACE: infra-kuttl-tests INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git INSTALL_CERT_MANAGER: 'true' INSTALL_NMSTATE: true || false INSTALL_NNCP: true || false INTERNALAPI_HOST_ROUTES: '' IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 IPV6_LAB_LIBVIRT_STORAGE_POOL: default IPV6_LAB_MANAGE_FIREWALLD: 'true' IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' IPV6_LAB_NETWORK_NAME: nat64 IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 IPV6_LAB_SNO_HOST_PREFIX: '64' IPV6_LAB_SNO_INSTANCE_NAME: sno IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp IPV6_LAB_SNO_OCP_VERSION: latest-4.14 IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab IRONIC: config/samples/ironic_v1beta1_ironic.yaml IRONICAPI_DEPL_IMG: unused IRONICCON_DEPL_IMG: unused IRONICINS_DEPL_IMG: unused IRONICNAG_DEPL_IMG: unused IRONICPXE_DEPL_IMG: unused IRONIC_BRANCH: main IRONIC_COMMIT_HASH: '' IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml IRONIC_IMAGE_TAG: release-24.1 IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_DEPL_IMG: unused KEYSTONE_BRANCH: main KEYSTONE_COMMIT_HASH: '' KEYSTONE_FEDERATION_CLIENT_SECRET: CO**********6f KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests KEYSTONE_REPO: https://github.com/openstack-k8s-operators/keystone-operator.git KUBEADMIN_PWD: '12345678' LIBVIRT_SECRET: libvirt-secret LOKI_DEPLOY_MODE: openshift-network LOKI_DEPLOY_NAMESPACE: netobserv LOKI_DEPLOY_SIZE: 1x.demo LOKI_NAMESPACE: openshift-operators-redhat LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki LOKI_SUBSCRIPTION: loki-operator LVMS_CR: '1' MANILA: config/samples/manila_v1beta1_manila.yaml MANILAAPI_DEPL_IMG: unused MANILASCH_DEPL_IMG: unused MANILASHARE_DEPL_IMG: unused MANILA_BRANCH: main MANILA_COMMIT_HASH: '' MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests MANILA_KUTTL_NAMESPACE: manila-kuttl-tests MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git MANILA_SERVICE_ENABLED: 'true' MARIADB: config/samples/mariadb_v1beta1_galera.yaml MARIADB_BRANCH: main MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests MARIADB_COMMIT_HASH: '' MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml MARIADB_DEPL_IMG: unused MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_DEPL_IMG: unused METADATA_SHARED_SECRET: '12**********42' METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 METALLB_POOL: 192.168.122.80-192.168.122.90 MICROSHIFT: '0' NAMESPACE: openstack NETCONFIG: config/samples/network_v1beta1_netconfig.yaml NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml NETCONFIG_DEPL_IMG: unused NETOBSERV_DEPLOY_NAMESPACE: netobserv NETOBSERV_NAMESPACE: openshift-netobserv-operator NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net NETOBSERV_SUBSCRIPTION: netobserv-operator NETWORK_BGP: 'false' NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 NETWORK_ISOLATION: 'true' NETWORK_ISOLATION_INSTANCE_NAME: crc NETWORK_ISOLATION_IPV4: 'true' NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 NETWORK_ISOLATION_IPV4_NAT: 'true' NETWORK_ISOLATION_IPV6: 'false' NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' NETWORK_ISOLATION_NETWORK_NAME: net-iso NETWORK_ISOLATION_NET_NAME: default NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' NETWORK_MTU: '1500' NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 NETWORK_STORAGE_MACVLAN: '' NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 NETWORK_VLAN_START: '20' NETWORK_VLAN_STEP: '1' NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_DEPL_IMG: unused NEUTRON_BRANCH: main NEUTRON_COMMIT_HASH: '' NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git NFS_HOME: /home/nfs NMSTATE_NAMESPACE: openshift-nmstate NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator NNCP_ADDITIONAL_HOST_ROUTES: '' NNCP_BGP_1_INTERFACE: enp7s0 NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 NNCP_BGP_2_INTERFACE: enp8s0 NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 NNCP_BRIDGE: ospbr NNCP_CLEANUP_TIMEOUT: 120s NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' NNCP_DNS_SERVER: 192.168.122.1 NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 NNCP_GATEWAY: 192.168.122.1 NNCP_GATEWAY_IPV6: fd00:aaaa::1 NNCP_INTERFACE: enp6s0 NNCP_NODES: '' NNCP_TIMEOUT: 240s NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_BRANCH: main NOVA_COMMIT_HASH: '' NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git NUMBER_OF_INSTANCES: '1' OCP_NETWORK_NAME: crc OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_BRANCH: main OCTAVIA_COMMIT_HASH: '' OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git OKD: 'false' OPENSTACK_BRANCH: main OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest OPENSTACK_COMMIT_HASH: '' OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_CRDS_DIR: openstack_crds OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest OPENSTACK_K8S_BRANCH: main OPENSTACK_K8S_TAG: latest OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests OPENSTACK_NEUTRON_CUSTOM_CONF: '' OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator OPERATOR_CHANNEL: '' OPERATOR_NAMESPACE: openstack-operators OPERATOR_SOURCE: '' OPERATOR_SOURCE_NAMESPACE: '' OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_NMAP: 'true' OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml OVN_BRANCH: main OVN_COMMIT_HASH: '' OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests OVN_KUTTL_NAMESPACE: ovn-kuttl-tests OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git PASSWORD: '12**********78' PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_DEPL_IMG: unused PLACEMENT_BRANCH: main PLACEMENT_COMMIT_HASH: '' PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_BRANCH: patches RABBITMQ_COMMIT_HASH: '' RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_DEPL_IMG: unused RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git REDHAT_OPERATORS: 'false' REDIS: config/samples/redis_v1beta1_redis.yaml REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml REDIS_DEPL_IMG: unused RH_REGISTRY_PWD: '' RH_REGISTRY_USER: '' SECRET: os**********et SG_CORE_DEPL_IMG: unused STANDALONE_COMPUTE_DRIVER: libvirt STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 STANDALONE_STORAGE_NET_PREFIX: 172.18.0 STANDALONE_TENANT_NET_PREFIX: 172.19.0 STORAGEMGMT_HOST_ROUTES: '' STORAGE_CLASS: local-storage STORAGE_HOST_ROUTES: '' SWIFT: config/samples/swift_v1beta1_swift.yaml SWIFT_BRANCH: main SWIFT_COMMIT_HASH: '' SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_BRANCH: main TELEMETRY_COMMIT_HASH: '' TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: test/kuttl/suites TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git TENANT_HOST_ROUTES: '' TIMEOUT: 300s TLS_ENABLED: 'false' tripleo_deploy: 'export REGISTRY_USER:' cifmw_install_yamls_environment: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm cifmw_openshift_api: https://api.crc.testing:6443 cifmw_openshift_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_login_api: https://api.crc.testing:6443 cifmw_openshift_login_cert_login: false cifmw_openshift_login_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_login_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_login_password: 12**********89 cifmw_openshift_login_token: sh**********qM cifmw_openshift_login_user: kubeadmin cifmw_openshift_token: sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM cifmw_openshift_user: kubeadmin cifmw_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 cifmw_repo_setup_commit_hash: null cifmw_repo_setup_distro_hash: null cifmw_repo_setup_dlrn_api_url: https://trunk.rdoproject.org/api-centos9-antelope cifmw_repo_setup_dlrn_url: https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5 cifmw_repo_setup_extended_hash: null cifmw_repo_setup_full_hash: fa2bb8efef6782c26ea7f1675eeb36dd cifmw_repo_setup_release: antelope cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f date_time: date: '2025-12-03' day: '03' epoch: '1764769642' epoch_int: '1764769642' hour: '13' iso8601: '2025-12-03T13:47:22Z' iso8601_basic: 20251203T134722282483 iso8601_basic_short: 20251203T134722 iso8601_micro: '2025-12-03T13:47:22.282483Z' minute: '47' month: '12' second: '22' time: '13:47:22' tz: UTC tz_dst: UTC tz_offset: '+0000' weekday: Wednesday weekday_number: '3' weeknumber: '48' year: '2025' default_ipv4: address: 38.102.83.45 alias: eth0 broadcast: 38.102.83.255 gateway: 38.102.83.1 interface: eth0 macaddress: fa:16:3e:a2:9e:9c mtu: 1500 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' type: ether default_ipv6: {} device_links: ids: sr0: - ata-QEMU_DVD-ROM_QM00001 labels: sr0: - config-2 masters: {} uuids: sr0: - 2025-12-03-11-15-46-00 vda1: - fcf6b761-831a-48a7-9f5f-068b5063763f devices: sr0: holders: [] host: '' links: ids: - ata-QEMU_DVD-ROM_QM00001 labels: - config-2 masters: [] uuids: - 2025-12-03-11-15-46-00 model: QEMU DVD-ROM partitions: {} removable: '1' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: mq-deadline sectors: '964' sectorsize: '2048' size: 482.00 KB support_discard: '2048' vendor: QEMU virtual: 1 vda: holders: [] host: '' links: ids: [] labels: [] masters: [] uuids: [] model: null partitions: vda1: holders: [] links: ids: [] labels: [] masters: [] uuids: - fcf6b761-831a-48a7-9f5f-068b5063763f sectors: '83883999' sectorsize: 512 size: 40.00 GB start: '2048' uuid: fcf6b761-831a-48a7-9f5f-068b5063763f removable: '0' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: none sectors: '83886080' sectorsize: '512' size: 40.00 GB support_discard: '512' vendor: '0x1af4' virtual: 1 discovered_interpreter_python: /usr/bin/python3 distribution: CentOS distribution_file_parsed: true distribution_file_path: /etc/centos-release distribution_file_variety: CentOS distribution_major_version: '9' distribution_release: Stream distribution_version: '9' dns: nameservers: - 192.168.122.10 - 199.204.44.24 - 199.204.47.54 domain: '' effective_group_id: 1000 effective_user_id: 1000 env: BASH_FUNC_which%%: "() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n}" DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus DEBUGINFOD_IMA_CERT_PATH: '/etc/keys/ima:' DEBUGINFOD_URLS: 'https://debuginfod.centos.org/ ' HOME: /home/zuul LANG: en_US.UTF-8 LESSOPEN: '||/usr/bin/lesspipe.sh %s' LOGNAME: zuul MOTD_SHOWN: pam PATH: /home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PWD: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl SELINUX_LEVEL_REQUESTED: '' SELINUX_ROLE_REQUESTED: '' SELINUX_USE_CURRENT_RANGE: '' SHELL: /bin/bash SHLVL: '2' SSH_CLIENT: 38.102.83.114 56214 22 SSH_CONNECTION: 38.102.83.114 56214 38.102.83.45 22 USER: zuul XDG_RUNTIME_DIR: /run/user/1000 XDG_SESSION_CLASS: user XDG_SESSION_ID: '10' XDG_SESSION_TYPE: tty _: /usr/bin/python3 which_declare: declare -f eth0: active: true device: eth0 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 38.102.83.45 broadcast: 38.102.83.255 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' ipv6: - address: fe80::f816:3eff:fea2:9e9c prefix: '64' scope: link macaddress: fa:16:3e:a2:9e:9c module: virtio_net mtu: 1500 pciid: virtio1 promisc: false speed: -1 timestamping: [] type: ether eth1: active: true device: eth1 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 192.168.122.11 broadcast: 192.168.122.255 netmask: 255.255.255.0 network: 192.168.122.0 prefix: '24' macaddress: fa:16:3e:a9:87:42 module: virtio_net mtu: 1500 pciid: virtio5 promisc: false speed: -1 timestamping: [] type: ether fibre_channel_wwn: [] fips: false form_factor: Other fqdn: controller gather_subset: - min hostname: controller hostnqn: nqn.2014-08.org.nvmexpress:uuid:bf3e0a14-a5f8-4123-aa26-e7cad37b879a interfaces: - lo - eth1 - eth0 is_chroot: false iscsi_iqn: '' kernel: 5.14.0-645.el9.x86_64 kernel_version: '#1 SMP PREEMPT_DYNAMIC Fri Nov 28 14:01:17 UTC 2025' lo: active: true device: lo features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: on [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: off [fixed] rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: off [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: on [fixed] tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: on [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: 'on' tx_gso_partial: off [fixed] tx_gso_robust: off [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: off [fixed] tx_scatter_gather: on [fixed] tx_scatter_gather_fraglist: on [fixed] tx_sctp_segmentation: 'on' tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'on' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: 'on' tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: on [fixed] hw_timestamp_filters: [] ipv4: address: 127.0.0.1 broadcast: '' netmask: 255.0.0.0 network: 127.0.0.0 prefix: '8' ipv6: - address: ::1 prefix: '128' scope: host mtu: 65536 promisc: false timestamping: [] type: loopback loadavg: 15m: 0.46 1m: 1.48 5m: 0.93 locally_reachable_ips: ipv4: - 38.102.83.45 - 127.0.0.0/8 - 127.0.0.1 - 192.168.122.11 ipv6: - ::1 - fe80::f816:3eff:fea2:9e9c lsb: {} lvm: N/A machine: x86_64 machine_id: 4d4ef2323cc3337bbfd9081b2a323b4e memfree_mb: 1390 memory_mb: nocache: free: 2869 used: 786 real: free: 1390 total: 3655 used: 2265 swap: cached: 0 free: 0 total: 0 used: 0 memtotal_mb: 3655 module_setup: true mounts: - block_available: 9596189 block_size: 4096 block_total: 10469115 block_used: 872926 device: /dev/vda1 fstype: xfs inode_available: 20821981 inode_total: 20970992 inode_used: 149011 mount: / options: rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota size_available: 39305990144 size_total: 42881495040 uuid: fcf6b761-831a-48a7-9f5f-068b5063763f nodename: controller os_family: RedHat pkg_mgr: dnf proc_cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f processor: - '0' - AuthenticAMD - AMD EPYC-Rome Processor - '1' - AuthenticAMD - AMD EPYC-Rome Processor processor_cores: 1 processor_count: 2 processor_nproc: 2 processor_threads_per_core: 1 processor_vcpus: 2 product_name: OpenStack Nova product_serial: NA product_uuid: NA product_version: 26.3.1 python: executable: /usr/bin/python3 has_sslcontext: true type: cpython version: major: 3 micro: 25 minor: 9 releaselevel: final serial: 0 version_info: - 3 - 9 - 25 - final - 0 python_version: 3.9.25 real_group_id: 1000 real_user_id: 1000 selinux: config_mode: enforcing mode: enforcing policyvers: 33 status: enabled type: targeted selinux_python_present: true service_mgr: systemd ssh_host_key_ecdsa_public: AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHiYU8oF2oiyc3hiTmugE5aA/BfvGeXVrN+KYsQ/JxJ+YANvsnhH0xJ9yDE0VFpBgt1Nk8JJNa7OlhGZrAAbeAs= ssh_host_key_ecdsa_public_keytype: ecdsa-sha2-nistp256 ssh_host_key_ed25519_public: AAAAC3NzaC1lZDI1NTE5AAAAIGHaxoJuy49IKcNtnx4AiISiNL4qJOKR3TiAtQuS8V/s ssh_host_key_ed25519_public_keytype: ssh-ed25519 ssh_host_key_rsa_public: AAAAB3NzaC1yc2EAAAADAQABAAABgQCS+IFsdLRh5+UEizNSA7HL/zmSJ2jfnf2m1OmCDCwYmSUHTFMwYMRwSte76SGWTgEl2dUmdBXVWI8Tzusblq+Na33Jrxkqs3ne4xCE2JiuDBjrHruayiyCek+6MdqHFtXP1eP2y/elZQRiPZeET6Du71bknS9N4vxJaN32QjKzXoz/tpeCVYseJKlSndjS02cX06O3fKPur7B810FfijB9V6quLdMT2sgZO1As2rgCTqcghfLkZmllqqyhYJitFehb6NDaRsRpHAhqpYA9dudLHRtFBOBwCaOHOOZDoUot4sPB9g2KzNzjTheB1x1QmNZsJVd40M8iZAhBcE8XsPLZxwOonDQe5CUOM36HgqgItC7zmRnNHDnoTLB4UEPO3FSBzHsJ+nt6WJEVOspyHh/Jz4t8Lk7VMcrZbUKSpGolkQNPuC63i6vjDyg1FieOXyfmmvQUZM5yYiITf/+mg6GObTwa5I3SlMGxKqmequeTLbamB/pl4f73BH4TXYa8bt8= ssh_host_key_rsa_public_keytype: ssh-rsa swapfree_mb: 0 swaptotal_mb: 0 system: Linux system_capabilities: - '' system_capabilities_enforced: 'True' system_vendor: OpenStack Foundation uptime_seconds: 783 user_dir: /home/zuul user_gecos: '' user_gid: 1000 user_id: zuul user_shell: /bin/bash user_uid: 1000 userspace_architecture: x86_64 userspace_bits: '64' virtualization_role: guest virtualization_tech_guest: - openstack virtualization_tech_host: - kvm virtualization_type: openstack ansible_fibre_channel_wwn: [] ansible_fips: false ansible_forks: 5 ansible_form_factor: Other ansible_fqdn: controller ansible_hostname: controller ansible_hostnqn: nqn.2014-08.org.nvmexpress:uuid:bf3e0a14-a5f8-4123-aa26-e7cad37b879a ansible_interfaces: - lo - eth1 - eth0 ansible_inventory_sources: - /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml ansible_is_chroot: false ansible_iscsi_iqn: '' ansible_kernel: 5.14.0-645.el9.x86_64 ansible_kernel_version: '#1 SMP PREEMPT_DYNAMIC Fri Nov 28 14:01:17 UTC 2025' ansible_lo: active: true device: lo features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: on [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: off [fixed] rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: off [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: on [fixed] tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: on [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: 'on' tx_gso_partial: off [fixed] tx_gso_robust: off [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: off [fixed] tx_scatter_gather: on [fixed] tx_scatter_gather_fraglist: on [fixed] tx_sctp_segmentation: 'on' tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'on' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: 'on' tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: on [fixed] hw_timestamp_filters: [] ipv4: address: 127.0.0.1 broadcast: '' netmask: 255.0.0.0 network: 127.0.0.0 prefix: '8' ipv6: - address: ::1 prefix: '128' scope: host mtu: 65536 promisc: false timestamping: [] type: loopback ansible_loadavg: 15m: 0.46 1m: 1.48 5m: 0.93 ansible_local: {} ansible_locally_reachable_ips: ipv4: - 38.102.83.45 - 127.0.0.0/8 - 127.0.0.1 - 192.168.122.11 ipv6: - ::1 - fe80::f816:3eff:fea2:9e9c ansible_lsb: {} ansible_lvm: N/A ansible_machine: x86_64 ansible_machine_id: 4d4ef2323cc3337bbfd9081b2a323b4e ansible_memfree_mb: 1390 ansible_memory_mb: nocache: free: 2869 used: 786 real: free: 1390 total: 3655 used: 2265 swap: cached: 0 free: 0 total: 0 used: 0 ansible_memtotal_mb: 3655 ansible_mounts: - block_available: 9596189 block_size: 4096 block_total: 10469115 block_used: 872926 device: /dev/vda1 fstype: xfs inode_available: 20821981 inode_total: 20970992 inode_used: 149011 mount: / options: rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota size_available: 39305990144 size_total: 42881495040 uuid: fcf6b761-831a-48a7-9f5f-068b5063763f ansible_nodename: controller ansible_os_family: RedHat ansible_parent_role_names: - cifmw_setup ansible_parent_role_paths: - /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_setup ansible_pkg_mgr: dnf ansible_play_batch: &id002 - localhost ansible_play_hosts: - localhost ansible_play_hosts_all: - localhost ansible_play_name: Run log related tasks ansible_play_role_names: &id003 - run_hook - os_must_gather - artifacts - env_op_images - run_hook - cifmw_setup ansible_playbook_python: /usr/bin/python3 ansible_proc_cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f ansible_processor: - '0' - AuthenticAMD - AMD EPYC-Rome Processor - '1' - AuthenticAMD - AMD EPYC-Rome Processor ansible_processor_cores: 1 ansible_processor_count: 2 ansible_processor_nproc: 2 ansible_processor_threads_per_core: 1 ansible_processor_vcpus: 2 ansible_product_name: OpenStack Nova ansible_product_serial: NA ansible_product_uuid: NA ansible_product_version: 26.3.1 ansible_python: executable: /usr/bin/python3 has_sslcontext: true type: cpython version: major: 3 micro: 25 minor: 9 releaselevel: final serial: 0 version_info: - 3 - 9 - 25 - final - 0 ansible_python_version: 3.9.25 ansible_real_group_id: 1000 ansible_real_user_id: 1000 ansible_role_name: artifacts ansible_role_names: - env_op_images - os_must_gather - cifmw_setup - artifacts - run_hook ansible_run_tags: - all ansible_selinux: config_mode: enforcing mode: enforcing policyvers: 33 status: enabled type: targeted ansible_selinux_python_present: true ansible_service_mgr: systemd ansible_skip_tags: [] ansible_ssh_host_key_ecdsa_public: AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHiYU8oF2oiyc3hiTmugE5aA/BfvGeXVrN+KYsQ/JxJ+YANvsnhH0xJ9yDE0VFpBgt1Nk8JJNa7OlhGZrAAbeAs= ansible_ssh_host_key_ecdsa_public_keytype: ecdsa-sha2-nistp256 ansible_ssh_host_key_ed25519_public: AAAAC3NzaC1lZDI1NTE5AAAAIGHaxoJuy49IKcNtnx4AiISiNL4qJOKR3TiAtQuS8V/s ansible_ssh_host_key_ed25519_public_keytype: ssh-ed25519 ansible_ssh_host_key_rsa_public: AAAAB3NzaC1yc2EAAAADAQABAAABgQCS+IFsdLRh5+UEizNSA7HL/zmSJ2jfnf2m1OmCDCwYmSUHTFMwYMRwSte76SGWTgEl2dUmdBXVWI8Tzusblq+Na33Jrxkqs3ne4xCE2JiuDBjrHruayiyCek+6MdqHFtXP1eP2y/elZQRiPZeET6Du71bknS9N4vxJaN32QjKzXoz/tpeCVYseJKlSndjS02cX06O3fKPur7B810FfijB9V6quLdMT2sgZO1As2rgCTqcghfLkZmllqqyhYJitFehb6NDaRsRpHAhqpYA9dudLHRtFBOBwCaOHOOZDoUot4sPB9g2KzNzjTheB1x1QmNZsJVd40M8iZAhBcE8XsPLZxwOonDQe5CUOM36HgqgItC7zmRnNHDnoTLB4UEPO3FSBzHsJ+nt6WJEVOspyHh/Jz4t8Lk7VMcrZbUKSpGolkQNPuC63i6vjDyg1FieOXyfmmvQUZM5yYiITf/+mg6GObTwa5I3SlMGxKqmequeTLbamB/pl4f73BH4TXYa8bt8= ansible_ssh_host_key_rsa_public_keytype: ssh-rsa ansible_swapfree_mb: 0 ansible_swaptotal_mb: 0 ansible_system: Linux ansible_system_capabilities: - '' ansible_system_capabilities_enforced: 'True' ansible_system_vendor: OpenStack Foundation ansible_uptime_seconds: 783 ansible_user_dir: '{{ lookup(''env'', ''HOME'') }}' ansible_user_gecos: '' ansible_user_gid: 1000 ansible_user_id: zuul ansible_user_shell: /bin/bash ansible_user_uid: 1000 ansible_userspace_architecture: x86_64 ansible_userspace_bits: '64' ansible_verbosity: 0 ansible_version: full: 2.15.13 major: 2 minor: 15 revision: 13 string: 2.15.13 ansible_virtualization_role: guest ansible_virtualization_tech_guest: - openstack ansible_virtualization_tech_host: - kvm ansible_virtualization_type: openstack ca_bundle: changed: false false_condition: cifmw_install_ca_bundle_src != '' skip_reason: Conditional result was False skipped: true ca_inline: changed: false false_condition: cifmw_install_ca_bundle_inline != '' skip_reason: Conditional result was False skipped: true ci_framework_params: cifmw_architecture_repo: /home/zuul/src/github.com/openstack-k8s-operators/architecture cifmw_architecture_repo_relative: src/github.com/openstack-k8s-operators/architecture cifmw_artifacts_basedir: /home/zuul/ci-framework-data cifmw_artifacts_crc_sshkey: ~/.ssh/id_cifw cifmw_basedir: /home/zuul/ci-framework-data cifmw_dlrn_report_result: false cifmw_extras: - '@scenarios/centos-9/kuttl_multinode.yml' cifmw_installyamls_repos: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls cifmw_installyamls_repos_relative: src/github.com/openstack-k8s-operators/install_yamls cifmw_kuttl_tests_env_vars: PV_NUM: 20 cifmw_kuttl_tests_operator_list: - openstack - barbican - keystone - horizon cifmw_make_ceph_environment: CEPH_TIMEOUT: 120 cifmw_openshift_api: api.crc.testing:6443 cifmw_openshift_password: '12**********89' cifmw_openshift_setup_skip_internal_registry: true cifmw_openshift_skip_tls_verify: true cifmw_openshift_user: kubeadmin cifmw_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 cifmw_project_dir: src/github.com/openstack-k8s-operators/ci-framework cifmw_project_dir_absolute: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework cifmw_repo_setup_dist_major_version: 9 cifmw_repo_setup_os_release: centos cifmw_run_tests: true cifmw_use_libvirt: false cifmw_zuul_target_host: controller post_ctlplane_deploy: - name: Tune rabbitmq resources source: rabbitmq_tuning.yml type: playbook pre_deploy: - name: Deploy toy ceph source: ceph-deploy.yml type: playbook pre_infra: - connection: local inventory: localhost, name: Download needed tools source: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/download_tools.yaml type: playbook pre_kuttl: - inventory: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml name: Fetch crc facts and save them as parameters for kuttl jobs source: kuttl_openstack_prep.yml type: playbook cifmw_architecture_repo: '{{ ansible_user_dir }}/{{ cifmw_architecture_repo_relative }}' cifmw_architecture_repo_relative: src/github.com/openstack-k8s-operators/architecture cifmw_artifacts_basedir: '{{ cifmw_basedir }}' cifmw_artifacts_crc_host: api.crc.testing cifmw_artifacts_crc_sshkey: ~/.ssh/id_cifw cifmw_artifacts_crc_sshkey_ed25519: ~/.crc/machines/crc/id_ed25519 cifmw_artifacts_crc_user: core cifmw_artifacts_gather_logs: true cifmw_artifacts_mask_logs: true cifmw_basedir: '{{ ansible_user_dir }}/ci-framework-data' cifmw_ci_local_storage_k8s_hostnames: - crc cifmw_ci_local_storage_k8s_hosts: - crc cifmw_ci_local_storage_k8s_nodes_out: api_found: true changed: false failed: false resources: - apiVersion: v1 kind: Node metadata: annotations: csi.volume.kubernetes.io/nodeid: '{"kubevirt.io.hostpath-provisioner":"crc"}' k8s.ovn.org/host-cidrs: '["172.17.0.5/24","172.18.0.5/24","172.19.0.5/24","172.20.0.5/24","172.28.0.5/24","172.50.0.5/24","192.168.122.10/24","192.168.126.11/24","38.129.56.252/24"]' k8s.ovn.org/l3-gateway-config: '{"default":{"mode":"local","bridge-id":"br-ex","interface-id":"br-ex_crc","mac-address":"fa:16:3e:a8:bd:2a","ip-addresses":["38.129.56.252/24"],"ip-address":"38.129.56.252/24","next-hops":["38.129.56.1"],"next-hop":"38.129.56.1","node-port-enable":"true","vlan-id":"0"}}' k8s.ovn.org/network-ids: '{"default":"0"}' k8s.ovn.org/node-chassis-id: c7c5727b-e3b4-4f7f-adb6-e8d5767a1f42 k8s.ovn.org/node-gateway-router-lrp-ifaddrs: '{"default":{"ipv4":"100.64.0.2/16"}}' k8s.ovn.org/node-id: '2' k8s.ovn.org/node-masquerade-subnet: '{"ipv4":"169.254.0.0/17","ipv6":"fd69::/112"}' k8s.ovn.org/node-primary-ifaddr: '{"ipv4":"38.129.56.252/24"}' k8s.ovn.org/node-subnets: '{"default":["10.217.0.0/23"]}' k8s.ovn.org/node-transit-switch-port-ifaddr: '{"ipv4":"100.88.0.2/16"}' k8s.ovn.org/remote-zone-migrated: crc k8s.ovn.org/zone-name: crc machineconfiguration.openshift.io/controlPlaneTopology: SingleReplica machineconfiguration.openshift.io/currentConfig: rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/desiredConfig: rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/desiredDrain: uncordon-rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/lastAppliedDrain: uncordon-rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/lastObservedServerCAAnnotation: 'false' machineconfiguration.openshift.io/lastSyncedControllerConfigResourceVersion: '203295' machineconfiguration.openshift.io/post-config-action: '' machineconfiguration.openshift.io/reason: 'unexpected on-disk state validating against rendered-master-f83a149c7490c3b0bf850df839837383: content mismatch for file "/var/lib/kubelet/config.json"' machineconfiguration.openshift.io/state: Degraded volumes.kubernetes.io/controller-managed-attach-detach: 'true' creationTimestamp: '2025-02-23T05:20:37Z' labels: beta.kubernetes.io/arch: amd64 beta.kubernetes.io/os: linux kubernetes.io/arch: amd64 kubernetes.io/hostname: crc kubernetes.io/os: linux node-role.kubernetes.io/control-plane: '' node-role.kubernetes.io/master: '' node-role.kubernetes.io/worker: '' node.openshift.io/os_id: rhcos topology.hostpath.csi/node: crc managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:volumes.kubernetes.io/controller-managed-attach-detach: {} f:labels: .: {} f:beta.kubernetes.io/arch: {} f:beta.kubernetes.io/os: {} f:kubernetes.io/arch: {} f:kubernetes.io/hostname: {} f:kubernetes.io/os: {} f:node-role.kubernetes.io/control-plane: {} f:node-role.kubernetes.io/master: {} f:node.openshift.io/os_id: {} manager: kubelet operation: Update time: '2025-02-23T05:20:37Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:machineconfiguration.openshift.io/controlPlaneTopology: {} f:machineconfiguration.openshift.io/desiredConfig: {} f:machineconfiguration.openshift.io/lastAppliedDrain: {} f:labels: f:node-role.kubernetes.io/worker: {} f:spec: f:taints: {} manager: machine-config-controller operation: Update time: '2025-12-03T11:24:46Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/host-cidrs: {} f:k8s.ovn.org/l3-gateway-config: {} f:k8s.ovn.org/network-ids: {} f:k8s.ovn.org/node-chassis-id: {} f:k8s.ovn.org/node-gateway-router-lrp-ifaddrs: {} f:k8s.ovn.org/node-id: {} f:k8s.ovn.org/node-masquerade-subnet: {} f:k8s.ovn.org/node-primary-ifaddr: {} f:k8s.ovn.org/node-subnets: {} f:k8s.ovn.org/node-transit-switch-port-ifaddr: {} f:k8s.ovn.org/remote-zone-migrated: {} f:k8s.ovn.org/zone-name: {} manager: crc operation: Update subresource: status time: '2025-12-03T11:33:38Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:machineconfiguration.openshift.io/currentConfig: {} f:machineconfiguration.openshift.io/desiredDrain: {} f:machineconfiguration.openshift.io/lastObservedServerCAAnnotation: {} f:machineconfiguration.openshift.io/lastSyncedControllerConfigResourceVersion: {} f:machineconfiguration.openshift.io/post-config-action: {} f:machineconfiguration.openshift.io/reason: {} f:machineconfiguration.openshift.io/state: {} manager: machine-config-daemon operation: Update time: '2025-12-03T13:35:13Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:csi.volume.kubernetes.io/nodeid: {} f:labels: f:topology.hostpath.csi/node: {} f:status: f:allocatable: f:cpu: {} f:ephemeral-storage: {} f:memory: {} f:capacity: f:cpu: {} f:ephemeral-storage: {} f:memory: {} f:conditions: k:{"type":"DiskPressure"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} k:{"type":"MemoryPressure"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} k:{"type":"PIDPressure"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} k:{"type":"Ready"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:images: {} f:nodeInfo: f:bootID: {} f:systemUUID: {} f:runtimeHandlers: {} manager: kubelet operation: Update subresource: status time: '2025-12-03T13:35:25Z' name: crc resourceVersion: '203343' uid: 22237e5b-d4ef-4173-8781-076e97d1bac1 spec: taints: - effect: PreferNoSchedule key: UpdateInProgress status: addresses: - address: 192.168.126.11 type: InternalIP - address: crc type: Hostname allocatable: cpu: 11800m ephemeral-storage: '76396645454' hugepages-1Gi: '0' hugepages-2Mi: '0' memory: 32404560Ki pods: '250' capacity: cpu: '12' ephemeral-storage: 83293888Ki hugepages-1Gi: '0' hugepages-2Mi: '0' memory: 32865360Ki pods: '250' conditions: - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:37Z' message: kubelet has sufficient memory available reason: KubeletHasSufficientMemory status: 'False' type: MemoryPressure - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:37Z' message: kubelet has no disk pressure reason: KubeletHasNoDiskPressure status: 'False' type: DiskPressure - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:37Z' message: kubelet has sufficient PID available reason: KubeletHasSufficientPID status: 'False' type: PIDPressure - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:45Z' message: kubelet is posting ready status reason: KubeletReady status: 'True' type: Ready daemonEndpoints: kubeletEndpoint: Port: 10250 images: - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b9ea248f8ca33258fe1683da51d2b16b94630be1b361c65f68a16c1a34b94887 sizeBytes: 2887430265 - names: - registry.redhat.io/redhat/redhat-operator-index@sha256:416a7dc57b2b95775e679e0ab93111baaa063e55a4c6d73856a248d85a2debbd - registry.redhat.io/redhat/redhat-operator-index@sha256:5cdd97eed164a2eda9842fb91d284f06d2e63d69af9a98001fca2d6cebd0b52a - registry.redhat.io/redhat/redhat-operator-index:v4.18 sizeBytes: 1609873225 - names: - registry.redhat.io/redhat/redhat-operator-index@sha256:4a62fa1c0091f6d94e8fb7258470b9a532d78364b6b51a05341592041d598562 sizeBytes: 1523204510 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:174f36cdd47ef0d1d2099482919d773257453265a2af0b17b154edc32fa41ac2 sizeBytes: 1498102846 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:7eeaee65f2808b819eedb413bdcabb9144e12f0dd97f13fd1afba93a95b67b26 sizeBytes: 1232839934 - names: - registry.redhat.io/redhat/certified-operator-index@sha256:446e5d504e70c7963ef7b0f090f3fcb19847ef48150299bf030847565d7a579b - registry.redhat.io/redhat/certified-operator-index@sha256:a01ee07f4838bab6cfa5a3d25d867557aa271725bfcd20a1e52d3cc63423c06b - registry.redhat.io/redhat/certified-operator-index:v4.18 sizeBytes: 1204969293 - names: - registry.redhat.io/redhat/certified-operator-index@sha256:2041f196d215ed63fc3218d5a0e0cb8409dd5b575612d999cffc9817ca7ee2c4 sizeBytes: 1204906320 - names: - registry.redhat.io/redhat/community-operator-index@sha256:dba4a8e0293f7b6e1459b74484a7126274bdc9efa75f808eb15e5a3896a3c818 - registry.redhat.io/redhat/community-operator-index@sha256:eee64597300e249e4bead6abda4d235cc4fc3a87be82e3e9f582609602ed87d7 - registry.redhat.io/redhat/community-operator-index:v4.18 sizeBytes: 1201319250 - names: - quay.io/podified-antelope-centos9/openstack-cinder-api@sha256:7a2056615520e272bae43ec3f34e2ba7a92c1d364b8d9106b53bd694619fc9c2 sizeBytes: 1159459107 - names: - registry.redhat.io/redhat/community-operator-index@sha256:8ff55cdb2367f5011074d2f5ebdc153b8885e7495e14ae00f99d2b7ab3584ade sizeBytes: 1151049424 - names: - registry.redhat.io/redhat/redhat-marketplace-index@sha256:e8990432556acad31519b1a73ec32f32d27c2034cf9e5cc4db8980efc7331594 - registry.redhat.io/redhat/redhat-marketplace-index@sha256:ebe9f523f5c211a3a0f2570331dddcd5be15b12c1fecd9b8b121f881bfaad029 - registry.redhat.io/redhat/redhat-marketplace-index:v4.18 sizeBytes: 1129027903 - names: - quay.io/podified-antelope-centos9/openstack-cinder-scheduler@sha256:e26fb8ad7808ca8efe268881f9229df90a755b24bd4ad5501ba3b8c5c16987a3 sizeBytes: 1081290394 - names: - registry.redhat.io/redhat/certified-operator-index@sha256:7688bce5eb0d153adff87fc9f7a47642465c0b88208efb236880197969931b37 sizeBytes: 1032059094 - names: - registry.redhat.io/redhat/redhat-marketplace-index@sha256:1dc15c170ebf462dacaef75511740ed94ca1da210f3980f66d77f91ba201c875 sizeBytes: 1001152198 - names: - quay.io/podified-antelope-centos9/openstack-glance-api@sha256:481073ac9deefb38bbd989aaa8dd7aedb4e0af26017f4883f85fce433380bf63 sizeBytes: 981252461 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c915fb8ba96e911699a1ae34a8e95ca8a9fbe1bf8c28fea177225c63a8bdfc0a sizeBytes: 964552795 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:06bc35825771aee1220d34720243b89c4ba8a8b335e6de2597126bd791fd90d4 sizeBytes: 947616130 - names: - quay.io/openstack-k8s-operators/infra-operator-index@sha256:0004f2ceba83275864e41537be172b0cabc7086ba435bebef08524b56e4b4697 - quay.io/openstack-k8s-operators/infra-operator-index:latest sizeBytes: 913315670 - names: - quay.io/openstack-k8s-operators/openstack-operator-index@sha256:186b716dfe2a9ffb006a27c9f5a35f4526dbbc3da092ac4ce64693d01d25754d - quay.io/openstack-k8s-operators/openstack-operator-index:latest sizeBytes: 913061644 - names: - quay.io/openstack-k8s-operators/barbican-operator-index@sha256:7d276ebac2ec3803ac49ab80c34526269020760d775d15a0e172e989c98d5e02 - quay.io/openstack-k8s-operators/barbican-operator-index:latest sizeBytes: 912991062 - names: - quay.io/openstack-k8s-operators/keystone-operator-index@sha256:8b89d83b5a934ede321ecc36f0cb4140a4b2c79a265a8bd4c927d89dd0f0f065 - quay.io/openstack-k8s-operators/keystone-operator-index:latest sizeBytes: 912945929 - names: - quay.io/openstack-k8s-operators/mariadb-operator-index@sha256:f4ca2ad4c858a1b62c1f039a8a66502e00e2ca284f629def4da0329822b0130e - quay.io/openstack-k8s-operators/mariadb-operator-index:latest sizeBytes: 912846090 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c3cc3840d7a81ce1b420f06e07a923861faf37d9c10688aa3aa0b7b76c8706ad sizeBytes: 907837715 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:101f295e2eae0755ae1865f7de885db1f17b9368e4120a713bb5f79e17ce8f93 sizeBytes: 854694423 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:47b0670fa1051335fd2d2c9e8361e4ed77c7760c33a2180b136f7c7f59863ec2 sizeBytes: 852490370 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:862f4a4bed52f372056b6d368e2498ebfb063075b31cf48dbdaaeedfcf0396cb sizeBytes: 772592048 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:98100674616e54319f6713d742fd0c3bdbc84e6e6173e8ccf4a2473a714c2bc4 sizeBytes: 705793115 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:687fddfbb085a1688df312ce4ec8c857df9b2daed8ff4a7ed6163a1154afa2cc sizeBytes: 687915987 - names: - quay.io/podified-antelope-centos9/openstack-nova-api@sha256:255cc3471ee112b17da164148b0ec25678332061b5b488868b81a30e5afb5bb5 sizeBytes: 682958050 - names: - quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:42f5663a161307156673f86e5eaad59f842a4bf25824f48008e69ab18e4ba792 - quay.io/podified-antelope-centos9/openstack-neutron-server:current-podified sizeBytes: 677563216 - names: - quay.io/podified-master-centos9/openstack-watcher-api@sha256:75f08e61323e7039d3cf5cdf81ac5d416caa4f7a0de7ce33992cfa2686f5080e sizeBytes: 675886117 - names: - quay.io/podified-antelope-centos9/openstack-nova-novncproxy@sha256:eaf80338dc065eb9c8c1f40552793c7cc2ff052c88c789f0a5d3e34099549adb sizeBytes: 668488686 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f247257b0885cf5d303e3612c7714b33ae51404cfa2429822060c6c025eb17dd sizeBytes: 668060419 - names: - quay.io/podified-antelope-centos9/openstack-nova-conductor@sha256:a96d336d231eee461559cfe82b025874ce2b8652520297bc5143559694ebac58 sizeBytes: 666124263 - names: - quay.io/podified-antelope-centos9/openstack-nova-scheduler@sha256:98a3cff4a3aae37148c4c982a0e37f21a476528cbd74734f59ae22f61fdb6fc1 sizeBytes: 666124262 - names: - quay.io/podified-master-centos9/openstack-watcher-decision-engine@sha256:9cd4672934a363f68134e85a0da40b90b1c8585867545cc5dd245ba6b3a61a7e sizeBytes: 659779888 - names: - quay.io/podified-master-centos9/openstack-watcher-applier@sha256:fad9bafc729790adb59fd4cae877fb677c99e0b623b379881ebaeeba3d7639de sizeBytes: 659779879 - names: - registry.redhat.io/openshift4/frr-rhel9@sha256:11d83fb97d5191861531c5463f84d0852f4383c00e851c32378f35ec3b242f94 - registry.redhat.io/openshift4/frr-rhel9@sha256:e5c5e7ca4ed54c9edba5dfa1d504bbe58016c2abdc872ebb8b26a628958e5a2a sizeBytes: 656503086 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e1baa38811c04bd8909e01a1f3be7421a1cb99d608d3dc4cf86d95b17de2ab8b sizeBytes: 613826183 - names: - quay.io/podified-antelope-centos9/openstack-openstackclient@sha256:c1b8da8298ec8be0ca22c7d8ba48da103e72dfe7ed5e9427b971d31eac3a8b33 - quay.io/podified-antelope-centos9/openstack-openstackclient:current-podified sizeBytes: 592736619 - names: - registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:17ea20be390a94ab39f5cdd7f0cbc2498046eebcf77fe3dec9aa288d5c2cf46b - registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:516395689f6666cc3fee43a553a8a6a87690109e71ab3e5fffb3d2cd5716988c sizeBytes: 589389122 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:7e3e9dc0b02b9351edf7c46b1d46d724abd1ac38ecbd6bc541cee84a209258d8 sizeBytes: 581863411 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:35512335ac39aed0f55b7f799f416f4f6445c20c1b19888cf2bb72bb276703f2 sizeBytes: 574606365 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:ee8d8f089ec1488067444c7e276c4e47cc93840280f3b3295484d67af2232002 sizeBytes: 550676059 - names: - registry.redhat.io/openshift4/metallb-rhel9@sha256:5bb9588daa84445e79da8dec0a5e5508940a72217c41e15c568084a07829e355 - registry.redhat.io/openshift4/metallb-rhel9@sha256:afa5a50746f3d69cef22c41c612ce3e7fe91e1da1d1d1566dee42ee304132379 sizeBytes: 549581950 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:10f20a39f16ae3019c62261eda8beb9e4d8c36cbb7b500b3bae1312987f0685d sizeBytes: 541458174 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e40792096b162f0f9ce5f8362f51e5f8dea2c1ce4b1447235388416b5db7708c sizeBytes: 533092226 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:07b7c6877441ecd6a5646fb68e33e9be8b90092272e49117b54b4a67314731ca sizeBytes: 528023732 - names: - quay.io/podified-antelope-centos9/openstack-barbican-api@sha256:82006b9c64d4c5f80483cda262d960ce6be4813665158ef1a53ea7734bbe431f - quay.io/podified-antelope-centos9/openstack-barbican-api:current-podified sizeBytes: 524309930 - names: - quay.io/podified-antelope-centos9/openstack-keystone@sha256:a7b6fa2f16a882674624b48939737e2bd95da7bef60db593a8e6e4d397fa516c - quay.io/podified-antelope-centos9/openstack-keystone:current-podified sizeBytes: 518758919 nodeInfo: architecture: amd64 bootID: d2f3768d-f4ec-4a3e-a78b-995e22cb0cfd containerRuntimeVersion: cri-o://1.31.5-4.rhaos4.18.gitdad78d5.el9 kernelVersion: 5.14.0-427.50.2.el9_4.x86_64 kubeProxyVersion: v1.31.5 kubeletVersion: v1.31.5 machineID: 21801e6708c44f15b81395eb736a7cec operatingSystem: linux osImage: Red Hat Enterprise Linux CoreOS 418.94.202502100215-0 systemUUID: ad4477df-a9a6-40d9-b422-36e1612ca334 runtimeHandlers: - features: recursiveReadOnlyMounts: true userNamespaces: true name: crun - features: recursiveReadOnlyMounts: true userNamespaces: true name: '' - features: recursiveReadOnlyMounts: true userNamespaces: false name: runc cifmw_ci_setup_packages: - bash-completion - ca-certificates - git-core - make - tar - tmux - python3-pip cifmw_ci_setup_rhel_rhsm_default_repos: - rhel-*-baseos-rpms - rhel-*-appstream-rpms - codeready-builder-*-x86_64-rpms cifmw_cls_pvs: - local-storage01-crc - local-storage02-crc - local-storage03-crc - local-storage04-crc - local-storage05-crc - local-storage06-crc - local-storage07-crc - local-storage08-crc - local-storage09-crc - local-storage10-crc - local-storage11-crc - local-storage12-crc cifmw_discovered_hash: 75a77d833a2ec47d10d7dfd7dba41dfe3c1be7e7e14ae5ab42563f9fb0e5e2d8 cifmw_discovered_hash_algorithm: sha256 cifmw_discovered_image_name: CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_discovered_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images//CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_dlrn_report_result: false cifmw_env_op_images_dir: '{{ cifmw_basedir }}' cifmw_env_op_images_dryrun: false cifmw_env_op_images_file: operator_images.yaml cifmw_extras: - '@scenarios/centos-9/kuttl_multinode.yml' cifmw_generate_makes: changed: false debug: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/Makefile: - all - help - cleanup - deploy_cleanup - wait - crc_storage - crc_storage_cleanup - crc_storage_release - crc_storage_with_retries - crc_storage_cleanup_with_retries - operator_namespace - namespace - namespace_cleanup - input - input_cleanup - crc_bmo_setup - crc_bmo_cleanup - openstack_prep - openstack - openstack_wait - openstack_init - openstack_cleanup - openstack_repo - openstack_deploy_prep - openstack_deploy - openstack_wait_deploy - openstack_deploy_cleanup - openstack_update_run - update_services - update_system - openstack_patch_version - edpm_deploy_generate_keys - edpm_patch_ansible_runner_image - edpm_deploy_prep - edpm_deploy_cleanup - edpm_deploy - edpm_deploy_baremetal_prep - edpm_deploy_baremetal - edpm_wait_deploy_baremetal - edpm_wait_deploy - edpm_register_dns - edpm_nova_discover_hosts - openstack_crds - openstack_crds_cleanup - edpm_deploy_networker_prep - edpm_deploy_networker_cleanup - edpm_deploy_networker - infra_prep - infra - infra_cleanup - dns_deploy_prep - dns_deploy - dns_deploy_cleanup - netconfig_deploy_prep - netconfig_deploy - netconfig_deploy_cleanup - memcached_deploy_prep - memcached_deploy - memcached_deploy_cleanup - keystone_prep - keystone - keystone_cleanup - keystone_deploy_prep - keystone_deploy - keystone_deploy_cleanup - barbican_prep - barbican - barbican_cleanup - barbican_deploy_prep - barbican_deploy - barbican_deploy_validate - barbican_deploy_cleanup - mariadb - mariadb_cleanup - mariadb_deploy_prep - mariadb_deploy - mariadb_deploy_cleanup - placement_prep - placement - placement_cleanup - placement_deploy_prep - placement_deploy - placement_deploy_cleanup - glance_prep - glance - glance_cleanup - glance_deploy_prep - glance_deploy - glance_deploy_cleanup - ovn_prep - ovn - ovn_cleanup - ovn_deploy_prep - ovn_deploy - ovn_deploy_cleanup - neutron_prep - neutron - neutron_cleanup - neutron_deploy_prep - neutron_deploy - neutron_deploy_cleanup - cinder_prep - cinder - cinder_cleanup - cinder_deploy_prep - cinder_deploy - cinder_deploy_cleanup - rabbitmq_prep - rabbitmq - rabbitmq_cleanup - rabbitmq_deploy_prep - rabbitmq_deploy - rabbitmq_deploy_cleanup - ironic_prep - ironic - ironic_cleanup - ironic_deploy_prep - ironic_deploy - ironic_deploy_cleanup - octavia_prep - octavia - octavia_cleanup - octavia_deploy_prep - octavia_deploy - octavia_deploy_cleanup - designate_prep - designate - designate_cleanup - designate_deploy_prep - designate_deploy - designate_deploy_cleanup - nova_prep - nova - nova_cleanup - nova_deploy_prep - nova_deploy - nova_deploy_cleanup - mariadb_kuttl_run - mariadb_kuttl - kuttl_db_prep - kuttl_db_cleanup - kuttl_common_prep - kuttl_common_cleanup - keystone_kuttl_run - keystone_kuttl - barbican_kuttl_run - barbican_kuttl - placement_kuttl_run - placement_kuttl - cinder_kuttl_run - cinder_kuttl - neutron_kuttl_run - neutron_kuttl - octavia_kuttl_run - octavia_kuttl - designate_kuttl - designate_kuttl_run - ovn_kuttl_run - ovn_kuttl - infra_kuttl_run - infra_kuttl - ironic_kuttl_run - ironic_kuttl - ironic_kuttl_crc - heat_kuttl_run - heat_kuttl - heat_kuttl_crc - ansibleee_kuttl_run - ansibleee_kuttl_cleanup - ansibleee_kuttl_prep - ansibleee_kuttl - glance_kuttl_run - glance_kuttl - manila_kuttl_run - manila_kuttl - swift_kuttl_run - swift_kuttl - horizon_kuttl_run - horizon_kuttl - openstack_kuttl_run - openstack_kuttl - mariadb_chainsaw_run - mariadb_chainsaw - horizon_prep - horizon - horizon_cleanup - horizon_deploy_prep - horizon_deploy - horizon_deploy_cleanup - heat_prep - heat - heat_cleanup - heat_deploy_prep - heat_deploy - heat_deploy_cleanup - ansibleee_prep - ansibleee - ansibleee_cleanup - baremetal_prep - baremetal - baremetal_cleanup - ceph_help - ceph - ceph_cleanup - rook_prep - rook - rook_deploy_prep - rook_deploy - rook_crc_disk - rook_cleanup - lvms - nmstate - nncp - nncp_cleanup - netattach - netattach_cleanup - metallb - metallb_config - metallb_config_cleanup - metallb_cleanup - loki - loki_cleanup - loki_deploy - loki_deploy_cleanup - netobserv - netobserv_cleanup - netobserv_deploy - netobserv_deploy_cleanup - manila_prep - manila - manila_cleanup - manila_deploy_prep - manila_deploy - manila_deploy_cleanup - telemetry_prep - telemetry - telemetry_cleanup - telemetry_deploy_prep - telemetry_deploy - telemetry_deploy_cleanup - telemetry_kuttl_run - telemetry_kuttl - swift_prep - swift - swift_cleanup - swift_deploy_prep - swift_deploy - swift_deploy_cleanup - certmanager - certmanager_cleanup - validate_marketplace - redis_deploy_prep - redis_deploy - redis_deploy_cleanup - set_slower_etcd_profile /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/Makefile: - help - download_tools - nfs - nfs_cleanup - crc - crc_cleanup - crc_scrub - crc_attach_default_interface - crc_attach_default_interface_cleanup - ipv6_lab_network - ipv6_lab_network_cleanup - ipv6_lab_nat64_router - ipv6_lab_nat64_router_cleanup - ipv6_lab_sno - ipv6_lab_sno_cleanup - ipv6_lab - ipv6_lab_cleanup - attach_default_interface - attach_default_interface_cleanup - network_isolation_bridge - network_isolation_bridge_cleanup - edpm_baremetal_compute - edpm_compute - edpm_compute_bootc - edpm_ansible_runner - edpm_computes_bgp - edpm_compute_repos - edpm_compute_cleanup - edpm_networker - edpm_networker_cleanup - edpm_deploy_instance - tripleo_deploy - standalone_deploy - standalone_sync - standalone - standalone_cleanup - standalone_snapshot - standalone_revert - cifmw_prepare - cifmw_cleanup - bmaas_network - bmaas_network_cleanup - bmaas_route_crc_and_crc_bmaas_networks - bmaas_route_crc_and_crc_bmaas_networks_cleanup - bmaas_crc_attach_network - bmaas_crc_attach_network_cleanup - bmaas_crc_baremetal_bridge - bmaas_crc_baremetal_bridge_cleanup - bmaas_baremetal_net_nad - bmaas_baremetal_net_nad_cleanup - bmaas_metallb - bmaas_metallb_cleanup - bmaas_virtual_bms - bmaas_virtual_bms_cleanup - bmaas_sushy_emulator - bmaas_sushy_emulator_cleanup - bmaas_sushy_emulator_wait - bmaas_generate_nodes_yaml - bmaas - bmaas_cleanup failed: false success: true cifmw_install_yamls_defaults: ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 ADOPTED_TENANT_NETWORK: 172.9.1.0/24 ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_BRANCH: main ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator ANSIBLEE_COMMIT_HASH: '' BARBICAN: config/samples/barbican_v1beta1_barbican.yaml BARBICAN_BRANCH: main BARBICAN_COMMIT_HASH: '' BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml BARBICAN_DEPL_IMG: unused BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git BARBICAN_SERVICE_ENABLED: 'true' BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sE**********U= BAREMETAL_BRANCH: main BAREMETAL_COMMIT_HASH: '' BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest BAREMETAL_OS_CONTAINER_IMG: '' BAREMETAL_OS_IMG: '' BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git BAREMETAL_TIMEOUT: 20m BASH_IMG: quay.io/openstack-k8s-operators/bash:latest BGP_ASN: '64999' BGP_LEAF_1: 100.65.4.1 BGP_LEAF_2: 100.64.4.1 BGP_OVN_ROUTING: 'false' BGP_PEER_ASN: '64999' BGP_SOURCE_IP: 172.30.4.2 BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 BMAAS_INSTANCE_DISK_SIZE: '20' BMAAS_INSTANCE_MEMORY: '4096' BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas BMAAS_INSTANCE_NET_MODEL: virtio BMAAS_INSTANCE_OS_VARIANT: centos-stream9 BMAAS_INSTANCE_VCPUS: '2' BMAAS_INSTANCE_VIRT_TYPE: kvm BMAAS_IPV4: 'true' BMAAS_IPV6: 'false' BMAAS_LIBVIRT_USER: sushyemu BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 BMAAS_METALLB_POOL_NAME: baremetal BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 BMAAS_NETWORK_NAME: crc-bmaas BMAAS_NODE_COUNT: '1' BMAAS_OCP_INSTANCE_NAME: crc BMAAS_REDFISH_PASSWORD: password BMAAS_REDFISH_USERNAME: admin BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default BMAAS_SUSHY_EMULATOR_DRIVER: libvirt BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack BMH_NAMESPACE: openstack BMO_BRANCH: release-0.9 BMO_CLEANUP: 'true' BMO_COMMIT_HASH: '' BMO_IPA_BRANCH: stable/2024.1 BMO_IRONIC_HOST: 192.168.122.10 BMO_PROVISIONING_INTERFACE: '' BMO_REPO: https://github.com/metal3-io/baremetal-operator BMO_SETUP: false BMO_SETUP_ROUTE_REPLACE: 'true' BM_CTLPLANE_INTERFACE: enp1s0 BM_INSTANCE_MEMORY: '8192' BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal BM_INSTANCE_NAME_SUFFIX: '0' BM_NETWORK_NAME: default BM_NODE_COUNT: '1' BM_ROOT_PASSWORD: '' BM_ROOT_PASSWORD_SECRET: '' CEILOMETER_CENTRAL_DEPL_IMG: unused CEILOMETER_NOTIFICATION_DEPL_IMG: unused CEPH_BRANCH: release-1.15 CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml CEPH_IMG: quay.io/ceph/demo:latest-squid CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml CEPH_REPO: https://github.com/rook/rook.git CERTMANAGER_TIMEOUT: 300s CHECKOUT_FROM_OPENSTACK_REF: 'true' CINDER: config/samples/cinder_v1beta1_cinder.yaml CINDERAPI_DEPL_IMG: unused CINDERBKP_DEPL_IMG: unused CINDERSCH_DEPL_IMG: unused CINDERVOL_DEPL_IMG: unused CINDER_BRANCH: main CINDER_COMMIT_HASH: '' CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git CLEANUP_DIR_CMD: rm -Rf CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' CRC_HTTPS_PROXY: '' CRC_HTTP_PROXY: '' CRC_STORAGE_NAMESPACE: crc-storage CRC_STORAGE_RETRIES: '3' CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' CRC_VERSION: latest DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret DATAPLANE_ANSIBLE_USER: '' DATAPLANE_COMPUTE_IP: 192.168.122.100 DATAPLANE_CONTAINER_PREFIX: openstack DATAPLANE_CONTAINER_TAG: current-podified DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest DATAPLANE_DEFAULT_GW: 192.168.122.1 DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned DATAPLANE_NETWORKER_IP: 192.168.122.200 DATAPLANE_NETWORK_INTERFACE_NAME: eth0 DATAPLANE_NOVA_NFS_PATH: '' DATAPLANE_NTP_SERVER: pool.ntp.org DATAPLANE_PLAYBOOK: osp.edpm.download_cache DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 DATAPLANE_RUNNER_IMG: '' DATAPLANE_SERVER_ROLE: compute DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' DATAPLANE_TIMEOUT: 30m DATAPLANE_TLS_ENABLED: 'true' DATAPLANE_TOTAL_NETWORKER_NODES: '1' DATAPLANE_TOTAL_NODES: '1' DBSERVICE: galera DESIGNATE: config/samples/designate_v1beta1_designate.yaml DESIGNATE_BRANCH: main DESIGNATE_COMMIT_HASH: '' DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git DNSDATA: config/samples/network_v1beta1_dnsdata.yaml DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml DNS_DEPL_IMG: unused DNS_DOMAIN: localdomain DOWNLOAD_TOOLS_SELECTION: all EDPM_ATTACH_EXTNET: 'true' EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' EDPM_COMPUTE_CELLS: '1' EDPM_COMPUTE_CEPH_ENABLED: 'true' EDPM_COMPUTE_CEPH_NOVA: 'true' EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' EDPM_COMPUTE_SRIOV_ENABLED: 'true' EDPM_COMPUTE_SUFFIX: '0' EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' EDPM_CONFIGURE_HUGEPAGES: 'false' EDPM_CONFIGURE_NETWORKING: 'true' EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra EDPM_NETWORKER_SUFFIX: '0' EDPM_TOTAL_NETWORKERS: '1' EDPM_TOTAL_NODES: '1' GALERA_REPLICAS: '' GENERATE_SSH_KEYS: 'true' GIT_CLONE_OPTS: '' GLANCE: config/samples/glance_v1beta1_glance.yaml GLANCEAPI_DEPL_IMG: unused GLANCE_BRANCH: main GLANCE_COMMIT_HASH: '' GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git HEAT: config/samples/heat_v1beta1_heat.yaml HEATAPI_DEPL_IMG: unused HEATCFNAPI_DEPL_IMG: unused HEATENGINE_DEPL_IMG: unused HEAT_AUTH_ENCRYPTION_KEY: 76**********f0 HEAT_BRANCH: main HEAT_COMMIT_HASH: '' HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests HEAT_KUTTL_NAMESPACE: heat-kuttl-tests HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git HEAT_SERVICE_ENABLED: 'true' HORIZON: config/samples/horizon_v1beta1_horizon.yaml HORIZON_BRANCH: main HORIZON_COMMIT_HASH: '' HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml HORIZON_DEPL_IMG: unused HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git INFRA_BRANCH: main INFRA_COMMIT_HASH: '' INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests INFRA_KUTTL_NAMESPACE: infra-kuttl-tests INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git INSTALL_CERT_MANAGER: 'true' INSTALL_NMSTATE: true || false INSTALL_NNCP: true || false INTERNALAPI_HOST_ROUTES: '' IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 IPV6_LAB_LIBVIRT_STORAGE_POOL: default IPV6_LAB_MANAGE_FIREWALLD: 'true' IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' IPV6_LAB_NETWORK_NAME: nat64 IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 IPV6_LAB_SNO_HOST_PREFIX: '64' IPV6_LAB_SNO_INSTANCE_NAME: sno IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp IPV6_LAB_SNO_OCP_VERSION: latest-4.14 IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab IRONIC: config/samples/ironic_v1beta1_ironic.yaml IRONICAPI_DEPL_IMG: unused IRONICCON_DEPL_IMG: unused IRONICINS_DEPL_IMG: unused IRONICNAG_DEPL_IMG: unused IRONICPXE_DEPL_IMG: unused IRONIC_BRANCH: main IRONIC_COMMIT_HASH: '' IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml IRONIC_IMAGE_TAG: release-24.1 IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_DEPL_IMG: unused KEYSTONE_BRANCH: main KEYSTONE_COMMIT_HASH: '' KEYSTONE_FEDERATION_CLIENT_SECRET: CO**********6f KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests KEYSTONE_REPO: https://github.com/openstack-k8s-operators/keystone-operator.git KUBEADMIN_PWD: '12345678' LIBVIRT_SECRET: libvirt-secret LOKI_DEPLOY_MODE: openshift-network LOKI_DEPLOY_NAMESPACE: netobserv LOKI_DEPLOY_SIZE: 1x.demo LOKI_NAMESPACE: openshift-operators-redhat LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki LOKI_SUBSCRIPTION: loki-operator LVMS_CR: '1' MANILA: config/samples/manila_v1beta1_manila.yaml MANILAAPI_DEPL_IMG: unused MANILASCH_DEPL_IMG: unused MANILASHARE_DEPL_IMG: unused MANILA_BRANCH: main MANILA_COMMIT_HASH: '' MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests MANILA_KUTTL_NAMESPACE: manila-kuttl-tests MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git MANILA_SERVICE_ENABLED: 'true' MARIADB: config/samples/mariadb_v1beta1_galera.yaml MARIADB_BRANCH: main MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests MARIADB_COMMIT_HASH: '' MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml MARIADB_DEPL_IMG: unused MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_DEPL_IMG: unused METADATA_SHARED_SECRET: '12**********42' METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 METALLB_POOL: 192.168.122.80-192.168.122.90 MICROSHIFT: '0' NAMESPACE: openstack NETCONFIG: config/samples/network_v1beta1_netconfig.yaml NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml NETCONFIG_DEPL_IMG: unused NETOBSERV_DEPLOY_NAMESPACE: netobserv NETOBSERV_NAMESPACE: openshift-netobserv-operator NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net NETOBSERV_SUBSCRIPTION: netobserv-operator NETWORK_BGP: 'false' NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 NETWORK_ISOLATION: 'true' NETWORK_ISOLATION_INSTANCE_NAME: crc NETWORK_ISOLATION_IPV4: 'true' NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 NETWORK_ISOLATION_IPV4_NAT: 'true' NETWORK_ISOLATION_IPV6: 'false' NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' NETWORK_ISOLATION_NETWORK_NAME: net-iso NETWORK_ISOLATION_NET_NAME: default NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' NETWORK_MTU: '1500' NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 NETWORK_STORAGE_MACVLAN: '' NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 NETWORK_VLAN_START: '20' NETWORK_VLAN_STEP: '1' NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_DEPL_IMG: unused NEUTRON_BRANCH: main NEUTRON_COMMIT_HASH: '' NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git NFS_HOME: /home/nfs NMSTATE_NAMESPACE: openshift-nmstate NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator NNCP_ADDITIONAL_HOST_ROUTES: '' NNCP_BGP_1_INTERFACE: enp7s0 NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 NNCP_BGP_2_INTERFACE: enp8s0 NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 NNCP_BRIDGE: ospbr NNCP_CLEANUP_TIMEOUT: 120s NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' NNCP_DNS_SERVER: 192.168.122.1 NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 NNCP_GATEWAY: 192.168.122.1 NNCP_GATEWAY_IPV6: fd00:aaaa::1 NNCP_INTERFACE: enp6s0 NNCP_NODES: '' NNCP_TIMEOUT: 240s NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_BRANCH: main NOVA_COMMIT_HASH: '' NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git NUMBER_OF_INSTANCES: '1' OCP_NETWORK_NAME: crc OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_BRANCH: main OCTAVIA_COMMIT_HASH: '' OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git OKD: 'false' OPENSTACK_BRANCH: main OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest OPENSTACK_COMMIT_HASH: '' OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_CRDS_DIR: openstack_crds OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest OPENSTACK_K8S_BRANCH: main OPENSTACK_K8S_TAG: latest OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests OPENSTACK_NEUTRON_CUSTOM_CONF: '' OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator OPERATOR_CHANNEL: '' OPERATOR_NAMESPACE: openstack-operators OPERATOR_SOURCE: '' OPERATOR_SOURCE_NAMESPACE: '' OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_NMAP: 'true' OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml OVN_BRANCH: main OVN_COMMIT_HASH: '' OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests OVN_KUTTL_NAMESPACE: ovn-kuttl-tests OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git PASSWORD: '12**********78' PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_DEPL_IMG: unused PLACEMENT_BRANCH: main PLACEMENT_COMMIT_HASH: '' PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_BRANCH: patches RABBITMQ_COMMIT_HASH: '' RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_DEPL_IMG: unused RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git REDHAT_OPERATORS: 'false' REDIS: config/samples/redis_v1beta1_redis.yaml REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml REDIS_DEPL_IMG: unused RH_REGISTRY_PWD: '' RH_REGISTRY_USER: '' SECRET: os**********et SG_CORE_DEPL_IMG: unused STANDALONE_COMPUTE_DRIVER: libvirt STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 STANDALONE_STORAGE_NET_PREFIX: 172.18.0 STANDALONE_TENANT_NET_PREFIX: 172.19.0 STORAGEMGMT_HOST_ROUTES: '' STORAGE_CLASS: local-storage STORAGE_HOST_ROUTES: '' SWIFT: config/samples/swift_v1beta1_swift.yaml SWIFT_BRANCH: main SWIFT_COMMIT_HASH: '' SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_BRANCH: main TELEMETRY_COMMIT_HASH: '' TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: test/kuttl/suites TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git TENANT_HOST_ROUTES: '' TIMEOUT: 300s TLS_ENABLED: 'false' tripleo_deploy: 'export REGISTRY_USER:' cifmw_install_yamls_environment: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm cifmw_install_yamls_vars: BMO_SETUP: false cifmw_installyamls_repos: '{{ ansible_user_dir }}/{{ cifmw_installyamls_repos_relative }}' cifmw_installyamls_repos_relative: src/github.com/openstack-k8s-operators/install_yamls cifmw_kuttl_openstack_prep_vars: NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 cifmw_kuttl_tests_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 cifmw_kuttl_tests_env_vars: PV_NUM: 20 cifmw_kuttl_tests_operator_list: - openstack - barbican - keystone - horizon cifmw_make_ceph_environment: CEPH_TIMEOUT: 120 cifmw_openshift_api: api.crc.testing:6443 cifmw_openshift_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_kubeconfig: '{{ ansible_user_dir }}/.crc/machines/crc/kubeconfig' cifmw_openshift_login_api: https://api.crc.testing:6443 cifmw_openshift_login_api_out: changed: true cmd: - oc - whoami - --show-server=true delta: '0:00:00.127135' end: '2025-12-03 11:30:50.990874' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:50.863739' stderr: '' stderr_lines: [] stdout: https://api.crc.testing:6443 stdout_lines: - https://api.crc.testing:6443 cifmw_openshift_login_cert_login: false cifmw_openshift_login_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_login_context_out: changed: true cmd: - oc - whoami - -c delta: '0:00:00.116351' end: '2025-12-03 11:30:51.330108' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:51.213757' stderr: '' stderr_lines: [] stdout: default/api-crc-testing:6443/kubeadmin stdout_lines: - default/api-crc-testing:6443/kubeadmin cifmw_openshift_login_install_yamls_artifacts_slurp: changed: false content: Y2lmbXdfaW5zdGFsbF95YW1sc19kZWZhdWx0czoKICAgIEFET1BURURfRVhURVJOQUxfTkVUV09SSzogMTcyLjIxLjEuMC8yNAogICAgQURPUFRFRF9JTlRFUk5BTEFQSV9ORVRXT1JLOiAxNzIuMTcuMS4wLzI0CiAgICBBRE9QVEVEX1NUT1JBR0VNR01UX05FVFdPUks6IDE3Mi4yMC4xLjAvMjQKICAgIEFET1BURURfU1RPUkFHRV9ORVRXT1JLOiAxNzIuMTguMS4wLzI0CiAgICBBRE9QVEVEX1RFTkFOVF9ORVRXT1JLOiAxNzIuOS4xLjAvMjQKICAgIEFOU0lCTEVFRTogY29uZmlnL3NhbXBsZXMvX3YxYmV0YTFfYW5zaWJsZWVlLnlhbWwKICAgIEFOU0lCTEVFRV9CUkFOQ0g6IG1haW4KICAgIEFOU0lCTEVFRV9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29wZW5zdGFjay1hbnNpYmxlZWUtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvX3YxYmV0YTFfYW5zaWJsZWVlLnlhbWwKICAgIEFOU0lCTEVFRV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb3BlbnN0YWNrLWFuc2libGVlZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIEFOU0lCTEVFRV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivb3BlbnN0YWNrLWFuc2libGVlZS1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEFOU0lCTEVFRV9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vcGVuc3RhY2stYW5zaWJsZWVlLW9wZXJhdG9yL3Rlc3Qva3V0dGwvdGVzdHMKICAgIEFOU0lCTEVFRV9LVVRUTF9OQU1FU1BBQ0U6IGFuc2libGVlZS1rdXR0bC10ZXN0cwogICAgQU5TSUJMRUVFX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9vcGVuc3RhY2stYW5zaWJsZWVlLW9wZXJhdG9yCiAgICBBTlNJQkxFRV9DT01NSVRfSEFTSDogJycKICAgIEJBUkJJQ0FOOiBjb25maWcvc2FtcGxlcy9iYXJiaWNhbl92MWJldGExX2JhcmJpY2FuLnlhbWwKICAgIEJBUkJJQ0FOX0JSQU5DSDogbWFpbgogICAgQkFSQklDQU5fQ09NTUlUX0hBU0g6ICcnCiAgICBCQVJCSUNBTl9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2JhcmJpY2FuLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2JhcmJpY2FuX3YxYmV0YTFfYmFyYmljYW4ueWFtbAogICAgQkFSQklDQU5fREVQTF9JTUc6IHVudXNlZAogICAgQkFSQklDQU5fSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2JhcmJpY2FuLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgQkFSQklDQU5fS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2JhcmJpY2FuLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgQkFSQklDQU5fS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvYmFyYmljYW4tb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgQkFSQklDQU5fS1VUVExfTkFNRVNQQUNFOiBiYXJiaWNhbi1rdXR0bC10ZXN0cwogICAgQkFSQklDQU5fUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2JhcmJpY2FuLW9wZXJhdG9yLmdpdAogICAgQkFSQklDQU5fU0VSVklDRV9FTkFCTEVEOiAndHJ1ZScKICAgIEJBUkJJQ0FOX1NJTVBMRV9DUllQVE9fRU5DUllQVElPTl9LRVk6IHNFRm1kRmpEVXFSTTJWZW1Zc2xWNXlHTldqb2tpb0pYc2c4TnJsYzNkclU9CiAgICBCQVJFTUVUQUxfQlJBTkNIOiBtYWluCiAgICBCQVJFTUVUQUxfQ09NTUlUX0hBU0g6ICcnCiAgICBCQVJFTUVUQUxfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1iYXJlbWV0YWwtb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBCQVJFTUVUQUxfT1NfQ09OVEFJTkVSX0lNRzogJycKICAgIEJBUkVNRVRBTF9PU19JTUc6ICcnCiAgICBCQVJFTUVUQUxfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1iYXJlbWV0YWwtb3BlcmF0b3IuZ2l0CiAgICBCQVJFTUVUQUxfVElNRU9VVDogMjBtCiAgICBCQVNIX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9iYXNoOmxhdGVzdAogICAgQkdQX0FTTjogJzY0OTk5JwogICAgQkdQX0xFQUZfMTogMTAwLjY1LjQuMQogICAgQkdQX0xFQUZfMjogMTAwLjY0LjQuMQogICAgQkdQX09WTl9ST1VUSU5HOiAnZmFsc2UnCiAgICBCR1BfUEVFUl9BU046ICc2NDk5OScKICAgIEJHUF9TT1VSQ0VfSVA6IDE3Mi4zMC40LjIKICAgIEJHUF9TT1VSQ0VfSVA2OiBmMDBkOmYwMGQ6ZjAwZDpmMDBkOmYwMGQ6ZjAwZDpmMDBkOjQyCiAgICBCTUFBU19CUklER0VfSVBWNF9QUkVGSVg6IDE3Mi4yMC4xLjIvMjQKICAgIEJNQUFTX0JSSURHRV9JUFY2X1BSRUZJWDogZmQwMDpiYmJiOjoyLzY0CiAgICBCTUFBU19JTlNUQU5DRV9ESVNLX1NJWkU6ICcyMCcKICAgIEJNQUFTX0lOU1RBTkNFX01FTU9SWTogJzQwOTYnCiAgICBCTUFBU19JTlNUQU5DRV9OQU1FX1BSRUZJWDogY3JjLWJtYWFzCiAgICBCTUFBU19JTlNUQU5DRV9ORVRfTU9ERUw6IHZpcnRpbwogICAgQk1BQVNfSU5TVEFOQ0VfT1NfVkFSSUFOVDogY2VudG9zLXN0cmVhbTkKICAgIEJNQUFTX0lOU1RBTkNFX1ZDUFVTOiAnMicKICAgIEJNQUFTX0lOU1RBTkNFX1ZJUlRfVFlQRToga3ZtCiAgICBCTUFBU19JUFY0OiAndHJ1ZScKICAgIEJNQUFTX0lQVjY6ICdmYWxzZScKICAgIEJNQUFTX0xJQlZJUlRfVVNFUjogc3VzaHllbXUKICAgIEJNQUFTX01FVEFMTEJfQUREUkVTU19QT09MOiAxNzIuMjAuMS42NC8yNgogICAgQk1BQVNfTUVUQUxMQl9QT09MX05BTUU6IGJhcmVtZXRhbAogICAgQk1BQVNfTkVUV09SS19JUFY0X1BSRUZJWDogMTcyLjIwLjEuMS8yNAogICAgQk1BQVNfTkVUV09SS19JUFY2X1BSRUZJWDogZmQwMDpiYmJiOjoxLzY0CiAgICBCTUFBU19ORVRXT1JLX05BTUU6IGNyYy1ibWFhcwogICAgQk1BQVNfTk9ERV9DT1VOVDogJzEnCiAgICBCTUFBU19PQ1BfSU5TVEFOQ0VfTkFNRTogY3JjCiAgICBCTUFBU19SRURGSVNIX1BBU1NXT1JEOiBwYXNzd29yZAogICAgQk1BQVNfUkVERklTSF9VU0VSTkFNRTogYWRtaW4KICAgIEJNQUFTX1JPVVRFX0xJQlZJUlRfTkVUV09SS1M6IGNyYy1ibWFhcyxjcmMsZGVmYXVsdAogICAgQk1BQVNfU1VTSFlfRU1VTEFUT1JfRFJJVkVSOiBsaWJ2aXJ0CiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9JTUFHRTogcXVheS5pby9tZXRhbDMtaW8vc3VzaHktdG9vbHM6bGF0ZXN0CiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9OQU1FU1BBQ0U6IHN1c2h5LWVtdWxhdG9yCiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9PU19DTElFTlRfQ09ORklHX0ZJTEU6IC9ldGMvb3BlbnN0YWNrL2Nsb3Vkcy55YW1sCiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9PU19DTE9VRDogb3BlbnN0YWNrCiAgICBCTUhfTkFNRVNQQUNFOiBvcGVuc3RhY2sKICAgIEJNT19CUkFOQ0g6IHJlbGVhc2UtMC45CiAgICBCTU9fQ0xFQU5VUDogJ3RydWUnCiAgICBCTU9fQ09NTUlUX0hBU0g6ICcnCiAgICBCTU9fSVBBX0JSQU5DSDogc3RhYmxlLzIwMjQuMQogICAgQk1PX0lST05JQ19IT1NUOiAxOTIuMTY4LjEyMi4xMAogICAgQk1PX1BST1ZJU0lPTklOR19JTlRFUkZBQ0U6ICcnCiAgICBCTU9fUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL21ldGFsMy1pby9iYXJlbWV0YWwtb3BlcmF0b3IKICAgIEJNT19TRVRVUDogZmFsc2UKICAgIEJNT19TRVRVUF9ST1VURV9SRVBMQUNFOiAndHJ1ZScKICAgIEJNX0NUTFBMQU5FX0lOVEVSRkFDRTogZW5wMXMwCiAgICBCTV9JTlNUQU5DRV9NRU1PUlk6ICc4MTkyJwogICAgQk1fSU5TVEFOQ0VfTkFNRV9QUkVGSVg6IGVkcG0tY29tcHV0ZS1iYXJlbWV0YWwKICAgIEJNX0lOU1RBTkNFX05BTUVfU1VGRklYOiAnMCcKICAgIEJNX05FVFdPUktfTkFNRTogZGVmYXVsdAogICAgQk1fTk9ERV9DT1VOVDogJzEnCiAgICBCTV9ST09UX1BBU1NXT1JEOiAnJwogICAgQk1fUk9PVF9QQVNTV09SRF9TRUNSRVQ6ICcnCiAgICBDRUlMT01FVEVSX0NFTlRSQUxfREVQTF9JTUc6IHVudXNlZAogICAgQ0VJTE9NRVRFUl9OT1RJRklDQVRJT05fREVQTF9JTUc6IHVudXNlZAogICAgQ0VQSF9CUkFOQ0g6IHJlbGVhc2UtMS4xNQogICAgQ0VQSF9DTElFTlQ6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9yb29rL2RlcGxveS9leGFtcGxlcy90b29sYm94LnlhbWwKICAgIENFUEhfQ09NTU9OOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivcm9vay9kZXBsb3kvZXhhbXBsZXMvY29tbW9uLnlhbWwKICAgIENFUEhfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9yb29rL2RlcGxveS9leGFtcGxlcy9jbHVzdGVyLXRlc3QueWFtbAogICAgQ0VQSF9DUkRTOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivcm9vay9kZXBsb3kvZXhhbXBsZXMvY3Jkcy55YW1sCiAgICBDRVBIX0lNRzogcXVheS5pby9jZXBoL2RlbW86bGF0ZXN0LXNxdWlkCiAgICBDRVBIX09QOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivcm9vay9kZXBsb3kvZXhhbXBsZXMvb3BlcmF0b3Itb3BlbnNoaWZ0LnlhbWwKICAgIENFUEhfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL3Jvb2svcm9vay5naXQKICAgIENFUlRNQU5BR0VSX1RJTUVPVVQ6IDMwMHMKICAgIENIRUNLT1VUX0ZST01fT1BFTlNUQUNLX1JFRjogJ3RydWUnCiAgICBDSU5ERVI6IGNvbmZpZy9zYW1wbGVzL2NpbmRlcl92MWJldGExX2NpbmRlci55YW1sCiAgICBDSU5ERVJBUElfREVQTF9JTUc6IHVudXNlZAogICAgQ0lOREVSQktQX0RFUExfSU1HOiB1bnVzZWQKICAgIENJTkRFUlNDSF9ERVBMX0lNRzogdW51c2VkCiAgICBDSU5ERVJWT0xfREVQTF9JTUc6IHVudXNlZAogICAgQ0lOREVSX0JSQU5DSDogbWFpbgogICAgQ0lOREVSX0NPTU1JVF9IQVNIOiAnJwogICAgQ0lOREVSX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvY2luZGVyLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2NpbmRlcl92MWJldGExX2NpbmRlci55YW1sCiAgICBDSU5ERVJfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpbmRlci1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIENJTkRFUl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvY2luZGVyLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgQ0lOREVSX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2NpbmRlci1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBDSU5ERVJfS1VUVExfTkFNRVNQQUNFOiBjaW5kZXIta3V0dGwtdGVzdHMKICAgIENJTkRFUl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2luZGVyLW9wZXJhdG9yLmdpdAogICAgQ0xFQU5VUF9ESVJfQ01EOiBybSAtUmYKICAgIENSQ19CR1BfTklDXzFfTUFDOiAnNTI6NTQ6MDA6MTE6MTE6MTEnCiAgICBDUkNfQkdQX05JQ18yX01BQzogJzUyOjU0OjAwOjExOjExOjEyJwogICAgQ1JDX0hUVFBTX1BST1hZOiAnJwogICAgQ1JDX0hUVFBfUFJPWFk6ICcnCiAgICBDUkNfU1RPUkFHRV9OQU1FU1BBQ0U6IGNyYy1zdG9yYWdlCiAgICBDUkNfU1RPUkFHRV9SRVRSSUVTOiAnMycKICAgIENSQ19VUkw6ICcnJ2h0dHBzOi8vZGV2ZWxvcGVycy5yZWRoYXQuY29tL2NvbnRlbnQtZ2F0ZXdheS9yZXN0L21pcnJvci9wdWIvb3BlbnNoaWZ0LXY0L2NsaWVudHMvY3JjL2xhdGVzdC9jcmMtbGludXgtYW1kNjQudGFyLnh6JycnCiAgICBDUkNfVkVSU0lPTjogbGF0ZXN0CiAgICBEQVRBUExBTkVfQU5TSUJMRV9TRUNSRVQ6IGRhdGFwbGFuZS1hbnNpYmxlLXNzaC1wcml2YXRlLWtleS1zZWNyZXQKICAgIERBVEFQTEFORV9BTlNJQkxFX1VTRVI6ICcnCiAgICBEQVRBUExBTkVfQ09NUFVURV9JUDogMTkyLjE2OC4xMjIuMTAwCiAgICBEQVRBUExBTkVfQ09OVEFJTkVSX1BSRUZJWDogb3BlbnN0YWNrCiAgICBEQVRBUExBTkVfQ09OVEFJTkVSX1RBRzogY3VycmVudC1wb2RpZmllZAogICAgREFUQVBMQU5FX0NVU1RPTV9TRVJWSUNFX1JVTk5FUl9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb3BlbnN0YWNrLWFuc2libGVlZS1ydW5uZXI6bGF0ZXN0CiAgICBEQVRBUExBTkVfREVGQVVMVF9HVzogMTkyLjE2OC4xMjIuMQogICAgREFUQVBMQU5FX0VYVFJBX05PVkFfQ09ORklHX0ZJTEU6IC9kZXYvbnVsbAogICAgREFUQVBMQU5FX0dST1dWT0xTX0FSR1M6IC89OEdCIC90bXA9MUdCIC9ob21lPTFHQiAvdmFyPTEwMCUKICAgIERBVEFQTEFORV9LVVNUT01JWkVfU0NFTkFSSU86IHByZXByb3Zpc2lvbmVkCiAgICBEQVRBUExBTkVfTkVUV09SS0VSX0lQOiAxOTIuMTY4LjEyMi4yMDAKICAgIERBVEFQTEFORV9ORVRXT1JLX0lOVEVSRkFDRV9OQU1FOiBldGgwCiAgICBEQVRBUExBTkVfTk9WQV9ORlNfUEFUSDogJycKICAgIERBVEFQTEFORV9OVFBfU0VSVkVSOiBwb29sLm50cC5vcmcKICAgIERBVEFQTEFORV9QTEFZQk9PSzogb3NwLmVkcG0uZG93bmxvYWRfY2FjaGUKICAgIERBVEFQTEFORV9SRUdJU1RSWV9VUkw6IHF1YXkuaW8vcG9kaWZpZWQtYW50ZWxvcGUtY2VudG9zOQogICAgREFUQVBMQU5FX1JVTk5FUl9JTUc6ICcnCiAgICBEQVRBUExBTkVfU0VSVkVSX1JPTEU6IGNvbXB1dGUKICAgIERBVEFQTEFORV9TU0hEX0FMTE9XRURfUkFOR0VTOiAnWycnMTkyLjE2OC4xMjIuMC8yNCcnXScKICAgIERBVEFQTEFORV9USU1FT1VUOiAzMG0KICAgIERBVEFQTEFORV9UTFNfRU5BQkxFRDogJ3RydWUnCiAgICBEQVRBUExBTkVfVE9UQUxfTkVUV09SS0VSX05PREVTOiAnMScKICAgIERBVEFQTEFORV9UT1RBTF9OT0RFUzogJzEnCiAgICBEQlNFUlZJQ0U6IGdhbGVyYQogICAgREVTSUdOQVRFOiBjb25maWcvc2FtcGxlcy9kZXNpZ25hdGVfdjFiZXRhMV9kZXNpZ25hdGUueWFtbAogICAgREVTSUdOQVRFX0JSQU5DSDogbWFpbgogICAgREVTSUdOQVRFX0NPTU1JVF9IQVNIOiAnJwogICAgREVTSUdOQVRFX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZGVzaWduYXRlLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2Rlc2lnbmF0ZV92MWJldGExX2Rlc2lnbmF0ZS55YW1sCiAgICBERVNJR05BVEVfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2Rlc2lnbmF0ZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIERFU0lHTkFURV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZGVzaWduYXRlLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgREVTSUdOQVRFX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2Rlc2lnbmF0ZS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBERVNJR05BVEVfS1VUVExfTkFNRVNQQUNFOiBkZXNpZ25hdGUta3V0dGwtdGVzdHMKICAgIERFU0lHTkFURV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvZGVzaWduYXRlLW9wZXJhdG9yLmdpdAogICAgRE5TREFUQTogY29uZmlnL3NhbXBsZXMvbmV0d29ya192MWJldGExX2Ruc2RhdGEueWFtbAogICAgRE5TREFUQV9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2luZnJhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL25ldHdvcmtfdjFiZXRhMV9kbnNkYXRhLnlhbWwKICAgIEROU01BU1E6IGNvbmZpZy9zYW1wbGVzL25ldHdvcmtfdjFiZXRhMV9kbnNtYXNxLnlhbWwKICAgIEROU01BU1FfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9pbmZyYS1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9uZXR3b3JrX3YxYmV0YTFfZG5zbWFzcS55YW1sCiAgICBETlNfREVQTF9JTUc6IHVudXNlZAogICAgRE5TX0RPTUFJTjogbG9jYWxkb21haW4KICAgIERPV05MT0FEX1RPT0xTX1NFTEVDVElPTjogYWxsCiAgICBFRFBNX0FUVEFDSF9FWFRORVQ6ICd0cnVlJwogICAgRURQTV9DT01QVVRFX0FERElUSU9OQUxfSE9TVF9ST1VURVM6ICcnJ1tdJycnCiAgICBFRFBNX0NPTVBVVEVfQURESVRJT05BTF9ORVRXT1JLUzogJycnW10nJycKICAgIEVEUE1fQ09NUFVURV9DRUxMUzogJzEnCiAgICBFRFBNX0NPTVBVVEVfQ0VQSF9FTkFCTEVEOiAndHJ1ZScKICAgIEVEUE1fQ09NUFVURV9DRVBIX05PVkE6ICd0cnVlJwogICAgRURQTV9DT01QVVRFX0RIQ1BfQUdFTlRfRU5BQkxFRDogJ3RydWUnCiAgICBFRFBNX0NPTVBVVEVfU1JJT1ZfRU5BQkxFRDogJ3RydWUnCiAgICBFRFBNX0NPTVBVVEVfU1VGRklYOiAnMCcKICAgIEVEUE1fQ09ORklHVVJFX0RFRkFVTFRfUk9VVEU6ICd0cnVlJwogICAgRURQTV9DT05GSUdVUkVfSFVHRVBBR0VTOiAnZmFsc2UnCiAgICBFRFBNX0NPTkZJR1VSRV9ORVRXT1JLSU5HOiAndHJ1ZScKICAgIEVEUE1fRklSU1RCT09UX0VYVFJBOiAvdG1wL2VkcG0tZmlyc3Rib290LWV4dHJhCiAgICBFRFBNX05FVFdPUktFUl9TVUZGSVg6ICcwJwogICAgRURQTV9UT1RBTF9ORVRXT1JLRVJTOiAnMScKICAgIEVEUE1fVE9UQUxfTk9ERVM6ICcxJwogICAgR0FMRVJBX1JFUExJQ0FTOiAnJwogICAgR0VORVJBVEVfU1NIX0tFWVM6ICd0cnVlJwogICAgR0lUX0NMT05FX09QVFM6ICcnCiAgICBHTEFOQ0U6IGNvbmZpZy9zYW1wbGVzL2dsYW5jZV92MWJldGExX2dsYW5jZS55YW1sCiAgICBHTEFOQ0VBUElfREVQTF9JTUc6IHVudXNlZAogICAgR0xBTkNFX0JSQU5DSDogbWFpbgogICAgR0xBTkNFX0NPTU1JVF9IQVNIOiAnJwogICAgR0xBTkNFX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZ2xhbmNlLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2dsYW5jZV92MWJldGExX2dsYW5jZS55YW1sCiAgICBHTEFOQ0VfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2dsYW5jZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIEdMQU5DRV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZ2xhbmNlLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgR0xBTkNFX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2dsYW5jZS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBHTEFOQ0VfS1VUVExfTkFNRVNQQUNFOiBnbGFuY2Uta3V0dGwtdGVzdHMKICAgIEdMQU5DRV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvZ2xhbmNlLW9wZXJhdG9yLmdpdAogICAgSEVBVDogY29uZmlnL3NhbXBsZXMvaGVhdF92MWJldGExX2hlYXQueWFtbAogICAgSEVBVEFQSV9ERVBMX0lNRzogdW51c2VkCiAgICBIRUFUQ0ZOQVBJX0RFUExfSU1HOiB1bnVzZWQKICAgIEhFQVRFTkdJTkVfREVQTF9JTUc6IHVudXNlZAogICAgSEVBVF9BVVRIX0VOQ1JZUFRJT05fS0VZOiA3NjdjM2VkMDU2Y2JhYTNiOWRmZWRiOGM2ZjgyNWJmMAogICAgSEVBVF9CUkFOQ0g6IG1haW4KICAgIEhFQVRfQ09NTUlUX0hBU0g6ICcnCiAgICBIRUFUX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaGVhdC1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9oZWF0X3YxYmV0YTFfaGVhdC55YW1sCiAgICBIRUFUX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9oZWF0LW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgSEVBVF9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaGVhdC1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEhFQVRfS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaGVhdC1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBIRUFUX0tVVFRMX05BTUVTUEFDRTogaGVhdC1rdXR0bC10ZXN0cwogICAgSEVBVF9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaGVhdC1vcGVyYXRvci5naXQKICAgIEhFQVRfU0VSVklDRV9FTkFCTEVEOiAndHJ1ZScKICAgIEhPUklaT046IGNvbmZpZy9zYW1wbGVzL2hvcml6b25fdjFiZXRhMV9ob3Jpem9uLnlhbWwKICAgIEhPUklaT05fQlJBTkNIOiBtYWluCiAgICBIT1JJWk9OX0NPTU1JVF9IQVNIOiAnJwogICAgSE9SSVpPTl9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2hvcml6b24tb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvaG9yaXpvbl92MWJldGExX2hvcml6b24ueWFtbAogICAgSE9SSVpPTl9ERVBMX0lNRzogdW51c2VkCiAgICBIT1JJWk9OX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9ob3Jpem9uLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgSE9SSVpPTl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaG9yaXpvbi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEhPUklaT05fS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaG9yaXpvbi1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBIT1JJWk9OX0tVVFRMX05BTUVTUEFDRTogaG9yaXpvbi1rdXR0bC10ZXN0cwogICAgSE9SSVpPTl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaG9yaXpvbi1vcGVyYXRvci5naXQKICAgIElORlJBX0JSQU5DSDogbWFpbgogICAgSU5GUkFfQ09NTUlUX0hBU0g6ICcnCiAgICBJTkZSQV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaW5mcmEtb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBJTkZSQV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaW5mcmEtb3BlcmF0b3Iva3V0dGwtdGVzdC55YW1sCiAgICBJTkZSQV9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9pbmZyYS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBJTkZSQV9LVVRUTF9OQU1FU1BBQ0U6IGluZnJhLWt1dHRsLXRlc3RzCiAgICBJTkZSQV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaW5mcmEtb3BlcmF0b3IuZ2l0CiAgICBJTlNUQUxMX0NFUlRfTUFOQUdFUjogJ3RydWUnCiAgICBJTlNUQUxMX05NU1RBVEU6IHRydWUgfHwgZmFsc2UKICAgIElOU1RBTExfTk5DUDogdHJ1ZSB8fCBmYWxzZQogICAgSU5URVJOQUxBUElfSE9TVF9ST1VURVM6ICcnCiAgICBJUFY2X0xBQl9JUFY0X05FVFdPUktfSVBBRERSRVNTOiAxNzIuMzAuMC4xLzI0CiAgICBJUFY2X0xBQl9JUFY2X05FVFdPUktfSVBBRERSRVNTOiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjoxLzY0CiAgICBJUFY2X0xBQl9MSUJWSVJUX1NUT1JBR0VfUE9PTDogZGVmYXVsdAogICAgSVBWNl9MQUJfTUFOQUdFX0ZJUkVXQUxMRDogJ3RydWUnCiAgICBJUFY2X0xBQl9OQVQ2NF9IT1NUX0lQVjQ6IDE3Mi4zMC4wLjIvMjQKICAgIElQVjZfTEFCX05BVDY0X0hPU1RfSVBWNjogZmQwMDphYmNkOmFiY2Q6ZmMwMDo6Mi82NAogICAgSVBWNl9MQUJfTkFUNjRfSU5TVEFOQ0VfTkFNRTogbmF0NjQtcm91dGVyCiAgICBJUFY2X0xBQl9OQVQ2NF9JUFY2X05FVFdPUks6IGZkMDA6YWJjZDphYmNkOmZjMDA6Oi82NAogICAgSVBWNl9MQUJfTkFUNjRfVEFZR0FfRFlOQU1JQ19QT09MOiAxOTIuMTY4LjI1NS4wLzI0CiAgICBJUFY2X0xBQl9OQVQ2NF9UQVlHQV9JUFY0OiAxOTIuMTY4LjI1NS4xCiAgICBJUFY2X0xBQl9OQVQ2NF9UQVlHQV9JUFY2OiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjozCiAgICBJUFY2X0xBQl9OQVQ2NF9UQVlHQV9JUFY2X1BSRUZJWDogZmQwMDphYmNkOmFiY2Q6ZmNmZjo6Lzk2CiAgICBJUFY2X0xBQl9OQVQ2NF9VUERBVEVfUEFDS0FHRVM6ICdmYWxzZScKICAgIElQVjZfTEFCX05FVFdPUktfTkFNRTogbmF0NjQKICAgIElQVjZfTEFCX1NOT19DTFVTVEVSX05FVFdPUks6IGZkMDA6YWJjZDowOjovNDgKICAgIElQVjZfTEFCX1NOT19IT1NUX0lQOiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjoxMQogICAgSVBWNl9MQUJfU05PX0hPU1RfUFJFRklYOiAnNjQnCiAgICBJUFY2X0xBQl9TTk9fSU5TVEFOQ0VfTkFNRTogc25vCiAgICBJUFY2X0xBQl9TTk9fTUFDSElORV9ORVRXT1JLOiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjovNjQKICAgIElQVjZfTEFCX1NOT19PQ1BfTUlSUk9SX1VSTDogaHR0cHM6Ly9taXJyb3Iub3BlbnNoaWZ0LmNvbS9wdWIvb3BlbnNoaWZ0LXY0L2NsaWVudHMvb2NwCiAgICBJUFY2X0xBQl9TTk9fT0NQX1ZFUlNJT046IGxhdGVzdC00LjE0CiAgICBJUFY2X0xBQl9TTk9fU0VSVklDRV9ORVRXT1JLOiBmZDAwOmFiY2Q6YWJjZDpmYzAzOjovMTEyCiAgICBJUFY2X0xBQl9TU0hfUFVCX0tFWTogL2hvbWUvenV1bC8uc3NoL2lkX3JzYS5wdWIKICAgIElQVjZfTEFCX1dPUktfRElSOiAvaG9tZS96dXVsLy5pcHY2bGFiCiAgICBJUk9OSUM6IGNvbmZpZy9zYW1wbGVzL2lyb25pY192MWJldGExX2lyb25pYy55YW1sCiAgICBJUk9OSUNBUElfREVQTF9JTUc6IHVudXNlZAogICAgSVJPTklDQ09OX0RFUExfSU1HOiB1bnVzZWQKICAgIElST05JQ0lOU19ERVBMX0lNRzogdW51c2VkCiAgICBJUk9OSUNOQUdfREVQTF9JTUc6IHVudXNlZAogICAgSVJPTklDUFhFX0RFUExfSU1HOiB1bnVzZWQKICAgIElST05JQ19CUkFOQ0g6IG1haW4KICAgIElST05JQ19DT01NSVRfSEFTSDogJycKICAgIElST05JQ19DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2lyb25pYy1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9pcm9uaWNfdjFiZXRhMV9pcm9uaWMueWFtbAogICAgSVJPTklDX0lNQUdFX1RBRzogcmVsZWFzZS0yNC4xCiAgICBJUk9OSUNfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2lyb25pYy1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIElST05JQ19LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaXJvbmljLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgSVJPTklDX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2lyb25pYy1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBJUk9OSUNfS1VUVExfTkFNRVNQQUNFOiBpcm9uaWMta3V0dGwtdGVzdHMKICAgIElST05JQ19SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaXJvbmljLW9wZXJhdG9yLmdpdAogICAgS0VZU1RPTkVBUEk6IGNvbmZpZy9zYW1wbGVzL2tleXN0b25lX3YxYmV0YTFfa2V5c3RvbmVhcGkueWFtbAogICAgS0VZU1RPTkVBUElfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9rZXlzdG9uZS1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9rZXlzdG9uZV92MWJldGExX2tleXN0b25lYXBpLnlhbWwKICAgIEtFWVNUT05FQVBJX0RFUExfSU1HOiB1bnVzZWQKICAgIEtFWVNUT05FX0JSQU5DSDogbWFpbgogICAgS0VZU1RPTkVfQ09NTUlUX0hBU0g6ICcnCiAgICBLRVlTVE9ORV9GRURFUkFUSU9OX0NMSUVOVF9TRUNSRVQ6IENPWDhibWxLQVduNTZYQ0dNcktRSmo3ZGdITkFPbDZmCiAgICBLRVlTVE9ORV9GRURFUkFUSU9OX0NSWVBUT19QQVNTUEhSQVNFOiBvcGVuc3RhY2sKICAgIEtFWVNUT05FX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9rZXlzdG9uZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIEtFWVNUT05FX0tVVFRMX0NPTkY6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9rZXlzdG9uZS1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEtFWVNUT05FX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2tleXN0b25lLW9wZXJhdG9yL3Rlc3Qva3V0dGwvdGVzdHMKICAgIEtFWVNUT05FX0tVVFRMX05BTUVTUEFDRToga2V5c3RvbmUta3V0dGwtdGVzdHMKICAgIEtFWVNUT05FX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9rZXlzdG9uZS1vcGVyYXRvci5naXQKICAgIEtVQkVBRE1JTl9QV0Q6ICcxMjM0NTY3OCcKICAgIExJQlZJUlRfU0VDUkVUOiBsaWJ2aXJ0LXNlY3JldAogICAgTE9LSV9ERVBMT1lfTU9ERTogb3BlbnNoaWZ0LW5ldHdvcmsKICAgIExPS0lfREVQTE9ZX05BTUVTUEFDRTogbmV0b2JzZXJ2CiAgICBMT0tJX0RFUExPWV9TSVpFOiAxeC5kZW1vCiAgICBMT0tJX05BTUVTUEFDRTogb3BlbnNoaWZ0LW9wZXJhdG9ycy1yZWRoYXQKICAgIExPS0lfT1BFUkFUT1JfR1JPVVA6IG9wZW5zaGlmdC1vcGVyYXRvcnMtcmVkaGF0LWxva2kKICAgIExPS0lfU1VCU0NSSVBUSU9OOiBsb2tpLW9wZXJhdG9yCiAgICBMVk1TX0NSOiAnMScKICAgIE1BTklMQTogY29uZmlnL3NhbXBsZXMvbWFuaWxhX3YxYmV0YTFfbWFuaWxhLnlhbWwKICAgIE1BTklMQUFQSV9ERVBMX0lNRzogdW51c2VkCiAgICBNQU5JTEFTQ0hfREVQTF9JTUc6IHVudXNlZAogICAgTUFOSUxBU0hBUkVfREVQTF9JTUc6IHVudXNlZAogICAgTUFOSUxBX0JSQU5DSDogbWFpbgogICAgTUFOSUxBX0NPTU1JVF9IQVNIOiAnJwogICAgTUFOSUxBX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFuaWxhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL21hbmlsYV92MWJldGExX21hbmlsYS55YW1sCiAgICBNQU5JTEFfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL21hbmlsYS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIE1BTklMQV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFuaWxhLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgTUFOSUxBX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL21hbmlsYS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBNQU5JTEFfS1VUVExfTkFNRVNQQUNFOiBtYW5pbGEta3V0dGwtdGVzdHMKICAgIE1BTklMQV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvbWFuaWxhLW9wZXJhdG9yLmdpdAogICAgTUFOSUxBX1NFUlZJQ0VfRU5BQkxFRDogJ3RydWUnCiAgICBNQVJJQURCOiBjb25maWcvc2FtcGxlcy9tYXJpYWRiX3YxYmV0YTFfZ2FsZXJhLnlhbWwKICAgIE1BUklBREJfQlJBTkNIOiBtYWluCiAgICBNQVJJQURCX0NIQUlOU0FXX0NPTkY6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9tYXJpYWRiLW9wZXJhdG9yL3Rlc3QvY2hhaW5zYXcvY29uZmlnLnlhbWwKICAgIE1BUklBREJfQ0hBSU5TQVdfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFyaWFkYi1vcGVyYXRvci90ZXN0L2NoYWluc2F3L3Rlc3RzCiAgICBNQVJJQURCX0NIQUlOU0FXX05BTUVTUEFDRTogbWFyaWFkYi1jaGFpbnNhdy10ZXN0cwogICAgTUFSSUFEQl9DT01NSVRfSEFTSDogJycKICAgIE1BUklBREJfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9tYXJpYWRiLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL21hcmlhZGJfdjFiZXRhMV9nYWxlcmEueWFtbAogICAgTUFSSUFEQl9ERVBMX0lNRzogdW51c2VkCiAgICBNQVJJQURCX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9tYXJpYWRiLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgTUFSSUFEQl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFyaWFkYi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE1BUklBREJfS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFyaWFkYi1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBNQVJJQURCX0tVVFRMX05BTUVTUEFDRTogbWFyaWFkYi1rdXR0bC10ZXN0cwogICAgTUFSSUFEQl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvbWFyaWFkYi1vcGVyYXRvci5naXQKICAgIE1FTUNBQ0hFRDogY29uZmlnL3NhbXBsZXMvbWVtY2FjaGVkX3YxYmV0YTFfbWVtY2FjaGVkLnlhbWwKICAgIE1FTUNBQ0hFRF9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2luZnJhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL21lbWNhY2hlZF92MWJldGExX21lbWNhY2hlZC55YW1sCiAgICBNRU1DQUNIRURfREVQTF9JTUc6IHVudXNlZAogICAgTUVUQURBVEFfU0hBUkVEX1NFQ1JFVDogJzEyMzQ1Njc4NDInCiAgICBNRVRBTExCX0lQVjZfUE9PTDogZmQwMDphYWFhOjo4MC1mZDAwOmFhYWE6OjkwCiAgICBNRVRBTExCX1BPT0w6IDE5Mi4xNjguMTIyLjgwLTE5Mi4xNjguMTIyLjkwCiAgICBNSUNST1NISUZUOiAnMCcKICAgIE5BTUVTUEFDRTogb3BlbnN0YWNrCiAgICBORVRDT05GSUc6IGNvbmZpZy9zYW1wbGVzL25ldHdvcmtfdjFiZXRhMV9uZXRjb25maWcueWFtbAogICAgTkVUQ09ORklHX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaW5mcmEtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvbmV0d29ya192MWJldGExX25ldGNvbmZpZy55YW1sCiAgICBORVRDT05GSUdfREVQTF9JTUc6IHVudXNlZAogICAgTkVUT0JTRVJWX0RFUExPWV9OQU1FU1BBQ0U6IG5ldG9ic2VydgogICAgTkVUT0JTRVJWX05BTUVTUEFDRTogb3BlbnNoaWZ0LW5ldG9ic2Vydi1vcGVyYXRvcgogICAgTkVUT0JTRVJWX09QRVJBVE9SX0dST1VQOiBvcGVuc2hpZnQtbmV0b2JzZXJ2LW9wZXJhdG9yLW5ldAogICAgTkVUT0JTRVJWX1NVQlNDUklQVElPTjogbmV0b2JzZXJ2LW9wZXJhdG9yCiAgICBORVRXT1JLX0JHUDogJ2ZhbHNlJwogICAgTkVUV09SS19ERVNJR05BVEVfQUREUkVTU19QUkVGSVg6IDE3Mi4yOC4wCiAgICBORVRXT1JLX0RFU0lHTkFURV9FWFRfQUREUkVTU19QUkVGSVg6IDE3Mi41MC4wCiAgICBORVRXT1JLX0lOVEVSTkFMQVBJX0FERFJFU1NfUFJFRklYOiAxNzIuMTcuMAogICAgTkVUV09SS19JU09MQVRJT046ICd0cnVlJwogICAgTkVUV09SS19JU09MQVRJT05fSU5TVEFOQ0VfTkFNRTogY3JjCiAgICBORVRXT1JLX0lTT0xBVElPTl9JUFY0OiAndHJ1ZScKICAgIE5FVFdPUktfSVNPTEFUSU9OX0lQVjRfQUREUkVTUzogMTcyLjE2LjEuMS8yNAogICAgTkVUV09SS19JU09MQVRJT05fSVBWNF9OQVQ6ICd0cnVlJwogICAgTkVUV09SS19JU09MQVRJT05fSVBWNjogJ2ZhbHNlJwogICAgTkVUV09SS19JU09MQVRJT05fSVBWNl9BRERSRVNTOiBmZDAwOmFhYWE6OjEvNjQKICAgIE5FVFdPUktfSVNPTEFUSU9OX0lQX0FERFJFU1M6IDE5Mi4xNjguMTIyLjEwCiAgICBORVRXT1JLX0lTT0xBVElPTl9NQUM6ICc1Mjo1NDowMDoxMToxMToxMCcKICAgIE5FVFdPUktfSVNPTEFUSU9OX05FVFdPUktfTkFNRTogbmV0LWlzbwogICAgTkVUV09SS19JU09MQVRJT05fTkVUX05BTUU6IGRlZmF1bHQKICAgIE5FVFdPUktfSVNPTEFUSU9OX1VTRV9ERUZBVUxUX05FVFdPUks6ICd0cnVlJwogICAgTkVUV09SS19NVFU6ICcxNTAwJwogICAgTkVUV09SS19TVE9SQUdFTUdNVF9BRERSRVNTX1BSRUZJWDogMTcyLjIwLjAKICAgIE5FVFdPUktfU1RPUkFHRV9BRERSRVNTX1BSRUZJWDogMTcyLjE4LjAKICAgIE5FVFdPUktfU1RPUkFHRV9NQUNWTEFOOiAnJwogICAgTkVUV09SS19URU5BTlRfQUREUkVTU19QUkVGSVg6IDE3Mi4xOS4wCiAgICBORVRXT1JLX1ZMQU5fU1RBUlQ6ICcyMCcKICAgIE5FVFdPUktfVkxBTl9TVEVQOiAnMScKICAgIE5FVVRST05BUEk6IGNvbmZpZy9zYW1wbGVzL25ldXRyb25fdjFiZXRhMV9uZXV0cm9uYXBpLnlhbWwKICAgIE5FVVRST05BUElfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9uZXV0cm9uLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL25ldXRyb25fdjFiZXRhMV9uZXV0cm9uYXBpLnlhbWwKICAgIE5FVVRST05BUElfREVQTF9JTUc6IHVudXNlZAogICAgTkVVVFJPTl9CUkFOQ0g6IG1haW4KICAgIE5FVVRST05fQ09NTUlUX0hBU0g6ICcnCiAgICBORVVUUk9OX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9uZXV0cm9uLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgTkVVVFJPTl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbmV1dHJvbi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE5FVVRST05fS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbmV1dHJvbi1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBORVVUUk9OX0tVVFRMX05BTUVTUEFDRTogbmV1dHJvbi1rdXR0bC10ZXN0cwogICAgTkVVVFJPTl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvbmV1dHJvbi1vcGVyYXRvci5naXQKICAgIE5GU19IT01FOiAvaG9tZS9uZnMKICAgIE5NU1RBVEVfTkFNRVNQQUNFOiBvcGVuc2hpZnQtbm1zdGF0ZQogICAgTk1TVEFURV9PUEVSQVRPUl9HUk9VUDogb3BlbnNoaWZ0LW5tc3RhdGUtdG42azgKICAgIE5NU1RBVEVfU1VCU0NSSVBUSU9OOiBrdWJlcm5ldGVzLW5tc3RhdGUtb3BlcmF0b3IKICAgIE5OQ1BfQURESVRJT05BTF9IT1NUX1JPVVRFUzogJycKICAgIE5OQ1BfQkdQXzFfSU5URVJGQUNFOiBlbnA3czAKICAgIE5OQ1BfQkdQXzFfSVBfQUREUkVTUzogMTAwLjY1LjQuMgogICAgTk5DUF9CR1BfMl9JTlRFUkZBQ0U6IGVucDhzMAogICAgTk5DUF9CR1BfMl9JUF9BRERSRVNTOiAxMDAuNjQuNC4yCiAgICBOTkNQX0JSSURHRTogb3NwYnIKICAgIE5OQ1BfQ0xFQU5VUF9USU1FT1VUOiAxMjBzCiAgICBOTkNQX0NUTFBMQU5FX0lQVjZfQUREUkVTU19QUkVGSVg6ICdmZDAwOmFhYWE6OicKICAgIE5OQ1BfQ1RMUExBTkVfSVBWNl9BRERSRVNTX1NVRkZJWDogJzEwJwogICAgTk5DUF9DVExQTEFORV9JUF9BRERSRVNTX1BSRUZJWDogMTkyLjE2OC4xMjIKICAgIE5OQ1BfQ1RMUExBTkVfSVBfQUREUkVTU19TVUZGSVg6ICcxMCcKICAgIE5OQ1BfRE5TX1NFUlZFUjogMTkyLjE2OC4xMjIuMQogICAgTk5DUF9ETlNfU0VSVkVSX0lQVjY6IGZkMDA6YWFhYTo6MQogICAgTk5DUF9HQVRFV0FZOiAxOTIuMTY4LjEyMi4xCiAgICBOTkNQX0dBVEVXQVlfSVBWNjogZmQwMDphYWFhOjoxCiAgICBOTkNQX0lOVEVSRkFDRTogZW5wNnMwCiAgICBOTkNQX05PREVTOiAnJwogICAgTk5DUF9USU1FT1VUOiAyNDBzCiAgICBOT1ZBOiBjb25maWcvc2FtcGxlcy9ub3ZhX3YxYmV0YTFfbm92YV9jb2xsYXBzZWRfY2VsbC55YW1sCiAgICBOT1ZBX0JSQU5DSDogbWFpbgogICAgTk9WQV9DT01NSVRfSEFTSDogJycKICAgIE5PVkFfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9ub3ZhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL25vdmFfdjFiZXRhMV9ub3ZhX2NvbGxhcHNlZF9jZWxsLnlhbWwKICAgIE5PVkFfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL25vdmEtb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBOT1ZBX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9ub3ZhLW9wZXJhdG9yLmdpdAogICAgTlVNQkVSX09GX0lOU1RBTkNFUzogJzEnCiAgICBPQ1BfTkVUV09SS19OQU1FOiBjcmMKICAgIE9DVEFWSUE6IGNvbmZpZy9zYW1wbGVzL29jdGF2aWFfdjFiZXRhMV9vY3RhdmlhLnlhbWwKICAgIE9DVEFWSUFfQlJBTkNIOiBtYWluCiAgICBPQ1RBVklBX0NPTU1JVF9IQVNIOiAnJwogICAgT0NUQVZJQV9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29jdGF2aWEtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvb2N0YXZpYV92MWJldGExX29jdGF2aWEueWFtbAogICAgT0NUQVZJQV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb2N0YXZpYS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIE9DVEFWSUFfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29jdGF2aWEtb3BlcmF0b3Iva3V0dGwtdGVzdC55YW1sCiAgICBPQ1RBVklBX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29jdGF2aWEtb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgT0NUQVZJQV9LVVRUTF9OQU1FU1BBQ0U6IG9jdGF2aWEta3V0dGwtdGVzdHMKICAgIE9DVEFWSUFfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29jdGF2aWEtb3BlcmF0b3IuZ2l0CiAgICBPS0Q6ICdmYWxzZScKICAgIE9QRU5TVEFDS19CUkFOQ0g6IG1haW4KICAgIE9QRU5TVEFDS19CVU5ETEVfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1vcGVyYXRvci1idW5kbGU6bGF0ZXN0CiAgICBPUEVOU1RBQ0tfQ09NTUlUX0hBU0g6ICcnCiAgICBPUEVOU1RBQ0tfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vcGVuc3RhY2stb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvY29yZV92MWJldGExX29wZW5zdGFja2NvbnRyb2xwbGFuZV9nYWxlcmFfbmV0d29ya19pc29sYXRpb24ueWFtbAogICAgT1BFTlNUQUNLX0NSRFNfRElSOiBvcGVuc3RhY2tfY3JkcwogICAgT1BFTlNUQUNLX0NUTFBMQU5FOiBjb25maWcvc2FtcGxlcy9jb3JlX3YxYmV0YTFfb3BlbnN0YWNrY29udHJvbHBsYW5lX2dhbGVyYV9uZXR3b3JrX2lzb2xhdGlvbi55YW1sCiAgICBPUEVOU1RBQ0tfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIE9QRU5TVEFDS19LOFNfQlJBTkNIOiBtYWluCiAgICBPUEVOU1RBQ0tfSzhTX1RBRzogbGF0ZXN0CiAgICBPUEVOU1RBQ0tfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29wZW5zdGFjay1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE9QRU5TVEFDS19LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vcGVuc3RhY2stb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgT1BFTlNUQUNLX0tVVFRMX05BTUVTUEFDRTogb3BlbnN0YWNrLWt1dHRsLXRlc3RzCiAgICBPUEVOU1RBQ0tfTkVVVFJPTl9DVVNUT01fQ09ORjogJycKICAgIE9QRU5TVEFDS19SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb3BlbnN0YWNrLW9wZXJhdG9yLmdpdAogICAgT1BFTlNUQUNLX1NUT1JBR0VfQlVORExFX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9vcGVuc3RhY2stb3BlcmF0b3Itc3RvcmFnZS1idW5kbGU6bGF0ZXN0CiAgICBPUEVSQVRPUl9CQVNFX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yCiAgICBPUEVSQVRPUl9DSEFOTkVMOiAnJwogICAgT1BFUkFUT1JfTkFNRVNQQUNFOiBvcGVuc3RhY2stb3BlcmF0b3JzCiAgICBPUEVSQVRPUl9TT1VSQ0U6ICcnCiAgICBPUEVSQVRPUl9TT1VSQ0VfTkFNRVNQQUNFOiAnJwogICAgT1VUOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMKICAgIE9VVFBVVF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL2VkcG0KICAgIE9WTkNPTlRST0xMRVI6IGNvbmZpZy9zYW1wbGVzL292bl92MWJldGExX292bmNvbnRyb2xsZXIueWFtbAogICAgT1ZOQ09OVFJPTExFUl9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL292bi1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9vdm5fdjFiZXRhMV9vdm5jb250cm9sbGVyLnlhbWwKICAgIE9WTkNPTlRST0xMRVJfTk1BUDogJ3RydWUnCiAgICBPVk5EQlM6IGNvbmZpZy9zYW1wbGVzL292bl92MWJldGExX292bmRiY2x1c3Rlci55YW1sCiAgICBPVk5EQlNfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vdm4tb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvb3ZuX3YxYmV0YTFfb3ZuZGJjbHVzdGVyLnlhbWwKICAgIE9WTk5PUlRIRDogY29uZmlnL3NhbXBsZXMvb3ZuX3YxYmV0YTFfb3Zubm9ydGhkLnlhbWwKICAgIE9WTk5PUlRIRF9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL292bi1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9vdm5fdjFiZXRhMV9vdm5ub3J0aGQueWFtbAogICAgT1ZOX0JSQU5DSDogbWFpbgogICAgT1ZOX0NPTU1JVF9IQVNIOiAnJwogICAgT1ZOX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9vdm4tb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBPVk5fS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL292bi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE9WTl9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vdm4tb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgT1ZOX0tVVFRMX05BTUVTUEFDRTogb3ZuLWt1dHRsLXRlc3RzCiAgICBPVk5fUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL292bi1vcGVyYXRvci5naXQKICAgIFBBU1NXT1JEOiAnMTIzNDU2NzgnCiAgICBQTEFDRU1FTlRBUEk6IGNvbmZpZy9zYW1wbGVzL3BsYWNlbWVudF92MWJldGExX3BsYWNlbWVudGFwaS55YW1sCiAgICBQTEFDRU1FTlRBUElfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9wbGFjZW1lbnQtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvcGxhY2VtZW50X3YxYmV0YTFfcGxhY2VtZW50YXBpLnlhbWwKICAgIFBMQUNFTUVOVEFQSV9ERVBMX0lNRzogdW51c2VkCiAgICBQTEFDRU1FTlRfQlJBTkNIOiBtYWluCiAgICBQTEFDRU1FTlRfQ09NTUlUX0hBU0g6ICcnCiAgICBQTEFDRU1FTlRfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3BsYWNlbWVudC1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIFBMQUNFTUVOVF9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvcGxhY2VtZW50LW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgUExBQ0VNRU5UX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3BsYWNlbWVudC1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBQTEFDRU1FTlRfS1VUVExfTkFNRVNQQUNFOiBwbGFjZW1lbnQta3V0dGwtdGVzdHMKICAgIFBMQUNFTUVOVF9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvcGxhY2VtZW50LW9wZXJhdG9yLmdpdAogICAgUFVMTF9TRUNSRVQ6IC9ob21lL3p1dWwvc3JjL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrL2NpL3BsYXlib29rcy9rdXR0bC9wdWxsLXNlY3JldC50eHQKICAgIFJBQkJJVE1ROiBkb2NzL2V4YW1wbGVzL2RlZmF1bHQtc2VjdXJpdHktY29udGV4dC9yYWJiaXRtcS55YW1sCiAgICBSQUJCSVRNUV9CUkFOQ0g6IHBhdGNoZXMKICAgIFJBQkJJVE1RX0NPTU1JVF9IQVNIOiAnJwogICAgUkFCQklUTVFfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9yYWJiaXRtcS1vcGVyYXRvci9kb2NzL2V4YW1wbGVzL2RlZmF1bHQtc2VjdXJpdHktY29udGV4dC9yYWJiaXRtcS55YW1sCiAgICBSQUJCSVRNUV9ERVBMX0lNRzogdW51c2VkCiAgICBSQUJCSVRNUV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvcmFiYml0bXEtY2x1c3Rlci1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIFJBQkJJVE1RX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9yYWJiaXRtcS1jbHVzdGVyLW9wZXJhdG9yLmdpdAogICAgUkVESEFUX09QRVJBVE9SUzogJ2ZhbHNlJwogICAgUkVESVM6IGNvbmZpZy9zYW1wbGVzL3JlZGlzX3YxYmV0YTFfcmVkaXMueWFtbAogICAgUkVESVNfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9pbmZyYS1vcGVyYXRvci1yZWRpcy9jb25maWcvc2FtcGxlcy9yZWRpc192MWJldGExX3JlZGlzLnlhbWwKICAgIFJFRElTX0RFUExfSU1HOiB1bnVzZWQKICAgIFJIX1JFR0lTVFJZX1BXRDogJycKICAgIFJIX1JFR0lTVFJZX1VTRVI6ICcnCiAgICBTRUNSRVQ6IG9zcC1zZWNyZXQKICAgIFNHX0NPUkVfREVQTF9JTUc6IHVudXNlZAogICAgU1RBTkRBTE9ORV9DT01QVVRFX0RSSVZFUjogbGlidmlydAogICAgU1RBTkRBTE9ORV9FWFRFUk5BTF9ORVRfUFJFRkZJWDogMTcyLjIxLjAKICAgIFNUQU5EQUxPTkVfSU5URVJOQUxBUElfTkVUX1BSRUZJWDogMTcyLjE3LjAKICAgIFNUQU5EQUxPTkVfU1RPUkFHRU1HTVRfTkVUX1BSRUZJWDogMTcyLjIwLjAKICAgIFNUQU5EQUxPTkVfU1RPUkFHRV9ORVRfUFJFRklYOiAxNzIuMTguMAogICAgU1RBTkRBTE9ORV9URU5BTlRfTkVUX1BSRUZJWDogMTcyLjE5LjAKICAgIFNUT1JBR0VNR01UX0hPU1RfUk9VVEVTOiAnJwogICAgU1RPUkFHRV9DTEFTUzogbG9jYWwtc3RvcmFnZQogICAgU1RPUkFHRV9IT1NUX1JPVVRFUzogJycKICAgIFNXSUZUOiBjb25maWcvc2FtcGxlcy9zd2lmdF92MWJldGExX3N3aWZ0LnlhbWwKICAgIFNXSUZUX0JSQU5DSDogbWFpbgogICAgU1dJRlRfQ09NTUlUX0hBU0g6ICcnCiAgICBTV0lGVF9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3N3aWZ0LW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL3N3aWZ0X3YxYmV0YTFfc3dpZnQueWFtbAogICAgU1dJRlRfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3N3aWZ0LW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgU1dJRlRfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3N3aWZ0LW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgU1dJRlRfS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivc3dpZnQtb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgU1dJRlRfS1VUVExfTkFNRVNQQUNFOiBzd2lmdC1rdXR0bC10ZXN0cwogICAgU1dJRlRfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3N3aWZ0LW9wZXJhdG9yLmdpdAogICAgVEVMRU1FVFJZOiBjb25maWcvc2FtcGxlcy90ZWxlbWV0cnlfdjFiZXRhMV90ZWxlbWV0cnkueWFtbAogICAgVEVMRU1FVFJZX0JSQU5DSDogbWFpbgogICAgVEVMRU1FVFJZX0NPTU1JVF9IQVNIOiAnJwogICAgVEVMRU1FVFJZX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvdGVsZW1ldHJ5LW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL3RlbGVtZXRyeV92MWJldGExX3RlbGVtZXRyeS55YW1sCiAgICBURUxFTUVUUllfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3RlbGVtZXRyeS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIFRFTEVNRVRSWV9LVVRUTF9CQVNFRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvdGVsZW1ldHJ5LW9wZXJhdG9yCiAgICBURUxFTUVUUllfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3RlbGVtZXRyeS1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIFRFTEVNRVRSWV9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci90ZWxlbWV0cnktb3BlcmF0b3IvdGVzdC9rdXR0bC9zdWl0ZXMKICAgIFRFTEVNRVRSWV9LVVRUTF9OQU1FU1BBQ0U6IHRlbGVtZXRyeS1rdXR0bC10ZXN0cwogICAgVEVMRU1FVFJZX0tVVFRMX1JFTFBBVEg6IHRlc3Qva3V0dGwvc3VpdGVzCiAgICBURUxFTUVUUllfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3RlbGVtZXRyeS1vcGVyYXRvci5naXQKICAgIFRFTkFOVF9IT1NUX1JPVVRFUzogJycKICAgIFRJTUVPVVQ6IDMwMHMKICAgIFRMU19FTkFCTEVEOiAnZmFsc2UnCiAgICB0cmlwbGVvX2RlcGxveTogJ2V4cG9ydCBSRUdJU1RSWV9VU0VSOicKY2lmbXdfaW5zdGFsbF95YW1sc19lbnZpcm9ubWVudDoKICAgIEJNT19TRVRVUDogZmFsc2UKICAgIENIRUNLT1VUX0ZST01fT1BFTlNUQUNLX1JFRjogJ3RydWUnCiAgICBPUEVOU1RBQ0tfSzhTX0JSQU5DSDogbWFpbgogICAgT1VUOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMKICAgIE9VVFBVVF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL2VkcG0K encoding: base64 failed: false source: /home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml cifmw_openshift_login_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_login_kubeconfig_content_b64: changed: false false_condition: cifmw_openshift_login_user is not defined skip_reason: Conditional result was False skipped: true cifmw_openshift_login_kubeconfig_stat: changed: false failed: false stat: exists: false cifmw_openshift_login_login_out: changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: 'WARNING: Using insecure TLS client config. Setting this option is not supported! Login successful. You have access to 65 projects, the list has been suppressed. You can list all projects with ''oc projects'' Using project "default". ' stdout_lines: - 'WARNING: Using insecure TLS client config. Setting this option is not supported!' - '' - Login successful. - '' - You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' - '' - Using project "default". cifmw_openshift_login_new_token_out: changed: true cmd: - oc - whoami - -t delta: '0:00:00.165590' end: '2025-12-03 11:30:50.642309' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:50.476719' stderr: '' stderr_lines: [] stdout: sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM stdout_lines: - sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM cifmw_openshift_login_password: 12**********89 cifmw_openshift_login_password_file_slurp: changed: false false_condition: cifmw_openshift_password is not defined skip_reason: Conditional result was False skipped: true cifmw_openshift_login_password_file_stat: changed: false false_condition: cifmw_openshift_password is not defined skip_reason: Conditional result was False skipped: true cifmw_openshift_login_retries_cnt: 0 cifmw_openshift_login_token: sh**********qM cifmw_openshift_login_user: kubeadmin cifmw_openshift_login_user_out: changed: true cmd: - oc - whoami delta: '0:00:00.146907' end: '2025-12-03 11:30:51.679875' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:51.532968' stderr: '' stderr_lines: [] stdout: kubeadmin stdout_lines: - kubeadmin cifmw_openshift_login_whoami_out: changed: true cmd: - oc - whoami - -t delta: '0:00:00.138098' end: '2025-12-03 11:30:49.774205' failed: true msg: non-zero return code rc: 1 start: '2025-12-03 11:30:49.636107' stderr: "error: Missing or incomplete configuration info. Please point to an existing, complete config file:\n\n\n 1. Via the command-line flag --kubeconfig\n \ 2. Via the KUBECONFIG environment variable\n 3. In your home directory as ~/.kube/config\n\nTo view or setup config directly use the 'config' command." stderr_lines: - 'error: Missing or incomplete configuration info. Please point to an existing, complete config file:' - '' - '' - ' 1. Via the command-line flag --kubeconfig' - ' 2. Via the KUBECONFIG environment variable' - ' 3. In your home directory as ~/.kube/config' - '' - To view or setup config directly use the 'config' command. stdout: '' stdout_lines: [] cifmw_openshift_password: '12**********89' cifmw_openshift_setup_namespaces: - openstack - openstack-operators cifmw_openshift_setup_podman_login_stdout: changed: false false_condition: not cifmw_openshift_setup_skip_internal_registry | bool skip_reason: Conditional result was False skipped: true cifmw_openshift_setup_registry_default_route: changed: false false_condition: not cifmw_openshift_setup_skip_internal_registry | bool skip_reason: Conditional result was False skipped: true cifmw_openshift_setup_skip_internal_registry: true cifmw_openshift_skip_tls_verify: true cifmw_openshift_token: sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM cifmw_openshift_user: kubeadmin cifmw_os_must_gather_additional_namespaces: kuttl,openshift-storage,openshift-marketplace,openshift-operators,sushy-emulator,tobiko cifmw_os_must_gather_dump_db: ALL cifmw_os_must_gather_host_network: false cifmw_os_must_gather_image: quay.io/openstack-k8s-operators/openstack-must-gather:latest cifmw_os_must_gather_image_push: true cifmw_os_must_gather_image_registry: quay.rdoproject.org/openstack-k8s-operators cifmw_os_must_gather_kubeconfig: '{{ ansible_user_dir }}/.kube/config' cifmw_os_must_gather_namespaces: - openstack-operators - openstack - baremetal-operator-system - openshift-machine-api - cert-manager - openshift-nmstate - openshift-marketplace - metallb-system - crc-storage cifmw_os_must_gather_output_dir: '{{ cifmw_basedir }}' cifmw_os_must_gather_output_log_dir: '{{ cifmw_os_must_gather_output_dir }}/logs/openstack-must-gather' cifmw_os_must_gather_repo_path: '{{ ansible_user_dir }}/src/github.com/openstack-k8s-operators/openstack-must-gather' cifmw_os_must_gather_timeout: 30m cifmw_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 cifmw_project_dir: src/github.com/openstack-k8s-operators/ci-framework cifmw_project_dir_absolute: '{{ ansible_user_dir }}/{{ cifmw_project_dir }}' cifmw_repo_setup_commit_hash: null cifmw_repo_setup_dist_major_version: 9 cifmw_repo_setup_distro_hash: null cifmw_repo_setup_dlrn_api_url: https://trunk.rdoproject.org/api-centos9-antelope cifmw_repo_setup_dlrn_url: https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5 cifmw_repo_setup_extended_hash: null cifmw_repo_setup_full_hash: fa2bb8efef6782c26ea7f1675eeb36dd cifmw_repo_setup_os_release: centos cifmw_repo_setup_release: antelope cifmw_run_hook_debug: '{{ (ansible_verbosity | int) >= 2 | bool }}' cifmw_run_hook_parameters_files: changed: false examined: 5 failed: false files: - atime: 1764761334.6147957 ctime: 1764761331.0516944 dev: 64513 gid: 1000 gr_name: zuul inode: 79768480 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761330.7286854 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 17537 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3656263 ctime: 1764761453.059239 dev: 64513 gid: 1000 gr_name: zuul inode: 71587043 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.8812337 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 28055 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3796268 ctime: 1764761406.6458867 dev: 64513 gid: 1000 gr_name: zuul inode: 75555799 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761406.4868822 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 2047 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.380627 ctime: 1764761452.1852133 dev: 64513 gid: 1000 gr_name: zuul inode: 54941085 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.005208 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 280 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761467.5396607 ctime: 1764761467.5436609 dev: 64513 gid: 1000 gr_name: zuul inode: 75620867 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761467.1656497 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml pw_name: zuul rgrp: true roth: true rusr: true size: 116 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 5 msg: All paths examined skipped_paths: {} cifmw_run_tests: true cifmw_success_flag: changed: false failed: false stat: exists: false cifmw_use_libvirt: false cifmw_zuul_target_host: controller commands_after_kuttl_run: - oc get pv - oc get all commands_before_kuttl_run: - oc get pv - oc get all crc_ci_bootstrap_cloud_name: '{{ nodepool.cloud | replace(''-nodepool-tripleo'','''') }}' crc_ci_bootstrap_networking: instances: controller: networks: default: ip: 192.168.122.11 crc: networks: default: ip: 192.168.122.10 internal-api: ip: 172.17.0.5 storage: ip: 172.18.0.5 tenant: ip: 172.19.0.5 networks: default: mtu: '{{ (''ibm'' in nodepool.cloud) | ternary(''1440'', ''1500'') }}' range: 192.168.122.0/24 router: false router_net: '' transparent: true internal-api: range: 172.17.0.0/24 vlan: 20 storage: range: 172.18.0.0/24 vlan: 21 tenant: range: 172.19.0.0/24 vlan: 22 discovered_image: changed: true data: hash: 75a77d833a2ec47d10d7dfd7dba41dfe3c1be7e7e14ae5ab42563f9fb0e5e2d8 hash_algorithm: sha256 image_name: CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 image_url: https://cloud.centos.org/centos/9-stream/x86_64/images//CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 error: '' failed: false success: true discovered_interpreter_python: /usr/bin/python3 enable_ramdisk: true environment: [] extra_vars: -e operator_namespace=openstack-operators -e namespace=openstack -e "@/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml" gather_subset: - min get_makefiles_env_output: changed: false error: '' failed: false makefiles_values: ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 ADOPTED_TENANT_NETWORK: 172.9.1.0/24 ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_BRANCH: main ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator ANSIBLEE_COMMIT_HASH: '' BARBICAN: config/samples/barbican_v1beta1_barbican.yaml BARBICAN_BRANCH: main BARBICAN_COMMIT_HASH: '' BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml BARBICAN_DEPL_IMG: unused BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git BARBICAN_SERVICE_ENABLED: 'true' BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sE**********U= BAREMETAL_BRANCH: main BAREMETAL_COMMIT_HASH: '' BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest BAREMETAL_OS_CONTAINER_IMG: '' BAREMETAL_OS_IMG: '' BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git BAREMETAL_TIMEOUT: 20m BASH_IMG: quay.io/openstack-k8s-operators/bash:latest BGP_ASN: '64999' BGP_LEAF_1: 100.65.4.1 BGP_LEAF_2: 100.64.4.1 BGP_OVN_ROUTING: 'false' BGP_PEER_ASN: '64999' BGP_SOURCE_IP: 172.30.4.2 BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 BMAAS_INSTANCE_DISK_SIZE: '20' BMAAS_INSTANCE_MEMORY: '4096' BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas BMAAS_INSTANCE_NET_MODEL: virtio BMAAS_INSTANCE_OS_VARIANT: centos-stream9 BMAAS_INSTANCE_VCPUS: '2' BMAAS_INSTANCE_VIRT_TYPE: kvm BMAAS_IPV4: 'true' BMAAS_IPV6: 'false' BMAAS_LIBVIRT_USER: sushyemu BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 BMAAS_METALLB_POOL_NAME: baremetal BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 BMAAS_NETWORK_NAME: crc-bmaas BMAAS_NODE_COUNT: '1' BMAAS_OCP_INSTANCE_NAME: crc BMAAS_REDFISH_PASSWORD: password BMAAS_REDFISH_USERNAME: admin BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default BMAAS_SUSHY_EMULATOR_DRIVER: libvirt BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack BMH_NAMESPACE: openstack BMO_BRANCH: release-0.9 BMO_CLEANUP: 'true' BMO_COMMIT_HASH: '' BMO_IPA_BRANCH: stable/2024.1 BMO_IRONIC_HOST: 192.168.122.10 BMO_PROVISIONING_INTERFACE: '' BMO_REPO: https://github.com/metal3-io/baremetal-operator BMO_SETUP: '' BMO_SETUP_ROUTE_REPLACE: 'true' BM_CTLPLANE_INTERFACE: enp1s0 BM_INSTANCE_MEMORY: '8192' BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal BM_INSTANCE_NAME_SUFFIX: '0' BM_NETWORK_NAME: default BM_NODE_COUNT: '1' BM_ROOT_PASSWORD: '' BM_ROOT_PASSWORD_SECRET: '' CEILOMETER_CENTRAL_DEPL_IMG: unused CEILOMETER_NOTIFICATION_DEPL_IMG: unused CEPH_BRANCH: release-1.15 CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml CEPH_IMG: quay.io/ceph/demo:latest-squid CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml CEPH_REPO: https://github.com/rook/rook.git CERTMANAGER_TIMEOUT: 300s CHECKOUT_FROM_OPENSTACK_REF: 'true' CINDER: config/samples/cinder_v1beta1_cinder.yaml CINDERAPI_DEPL_IMG: unused CINDERBKP_DEPL_IMG: unused CINDERSCH_DEPL_IMG: unused CINDERVOL_DEPL_IMG: unused CINDER_BRANCH: main CINDER_COMMIT_HASH: '' CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git CLEANUP_DIR_CMD: rm -Rf CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' CRC_HTTPS_PROXY: '' CRC_HTTP_PROXY: '' CRC_STORAGE_NAMESPACE: crc-storage CRC_STORAGE_RETRIES: '3' CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' CRC_VERSION: latest DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret DATAPLANE_ANSIBLE_USER: '' DATAPLANE_COMPUTE_IP: 192.168.122.100 DATAPLANE_CONTAINER_PREFIX: openstack DATAPLANE_CONTAINER_TAG: current-podified DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest DATAPLANE_DEFAULT_GW: 192.168.122.1 DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned DATAPLANE_NETWORKER_IP: 192.168.122.200 DATAPLANE_NETWORK_INTERFACE_NAME: eth0 DATAPLANE_NOVA_NFS_PATH: '' DATAPLANE_NTP_SERVER: pool.ntp.org DATAPLANE_PLAYBOOK: osp.edpm.download_cache DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 DATAPLANE_RUNNER_IMG: '' DATAPLANE_SERVER_ROLE: compute DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' DATAPLANE_TIMEOUT: 30m DATAPLANE_TLS_ENABLED: 'true' DATAPLANE_TOTAL_NETWORKER_NODES: '1' DATAPLANE_TOTAL_NODES: '1' DBSERVICE: galera DESIGNATE: config/samples/designate_v1beta1_designate.yaml DESIGNATE_BRANCH: main DESIGNATE_COMMIT_HASH: '' DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git DNSDATA: config/samples/network_v1beta1_dnsdata.yaml DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml DNS_DEPL_IMG: unused DNS_DOMAIN: localdomain DOWNLOAD_TOOLS_SELECTION: all EDPM_ATTACH_EXTNET: 'true' EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' EDPM_COMPUTE_CELLS: '1' EDPM_COMPUTE_CEPH_ENABLED: 'true' EDPM_COMPUTE_CEPH_NOVA: 'true' EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' EDPM_COMPUTE_SRIOV_ENABLED: 'true' EDPM_COMPUTE_SUFFIX: '0' EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' EDPM_CONFIGURE_HUGEPAGES: 'false' EDPM_CONFIGURE_NETWORKING: 'true' EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra EDPM_NETWORKER_SUFFIX: '0' EDPM_TOTAL_NETWORKERS: '1' EDPM_TOTAL_NODES: '1' GALERA_REPLICAS: '' GENERATE_SSH_KEYS: 'true' GIT_CLONE_OPTS: '' GLANCE: config/samples/glance_v1beta1_glance.yaml GLANCEAPI_DEPL_IMG: unused GLANCE_BRANCH: main GLANCE_COMMIT_HASH: '' GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git HEAT: config/samples/heat_v1beta1_heat.yaml HEATAPI_DEPL_IMG: unused HEATCFNAPI_DEPL_IMG: unused HEATENGINE_DEPL_IMG: unused HEAT_AUTH_ENCRYPTION_KEY: 76**********f0 HEAT_BRANCH: main HEAT_COMMIT_HASH: '' HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests HEAT_KUTTL_NAMESPACE: heat-kuttl-tests HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git HEAT_SERVICE_ENABLED: 'true' HORIZON: config/samples/horizon_v1beta1_horizon.yaml HORIZON_BRANCH: main HORIZON_COMMIT_HASH: '' HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml HORIZON_DEPL_IMG: unused HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git INFRA_BRANCH: main INFRA_COMMIT_HASH: '' INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests INFRA_KUTTL_NAMESPACE: infra-kuttl-tests INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git INSTALL_CERT_MANAGER: 'true' INSTALL_NMSTATE: true || false INSTALL_NNCP: true || false INTERNALAPI_HOST_ROUTES: '' IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 IPV6_LAB_LIBVIRT_STORAGE_POOL: default IPV6_LAB_MANAGE_FIREWALLD: 'true' IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' IPV6_LAB_NETWORK_NAME: nat64 IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 IPV6_LAB_SNO_HOST_PREFIX: '64' IPV6_LAB_SNO_INSTANCE_NAME: sno IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp IPV6_LAB_SNO_OCP_VERSION: latest-4.14 IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab IRONIC: config/samples/ironic_v1beta1_ironic.yaml IRONICAPI_DEPL_IMG: unused IRONICCON_DEPL_IMG: unused IRONICINS_DEPL_IMG: unused IRONICNAG_DEPL_IMG: unused IRONICPXE_DEPL_IMG: unused IRONIC_BRANCH: main IRONIC_COMMIT_HASH: '' IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml IRONIC_IMAGE_TAG: release-24.1 IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_DEPL_IMG: unused KEYSTONE_BRANCH: main KEYSTONE_COMMIT_HASH: '' KEYSTONE_FEDERATION_CLIENT_SECRET: CO**********6f KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests KEYSTONE_REPO: https://github.com/openstack-k8s-operators/keystone-operator.git KUBEADMIN_PWD: '12345678' LIBVIRT_SECRET: libvirt-secret LOKI_DEPLOY_MODE: openshift-network LOKI_DEPLOY_NAMESPACE: netobserv LOKI_DEPLOY_SIZE: 1x.demo LOKI_NAMESPACE: openshift-operators-redhat LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki LOKI_SUBSCRIPTION: loki-operator LVMS_CR: '1' MANILA: config/samples/manila_v1beta1_manila.yaml MANILAAPI_DEPL_IMG: unused MANILASCH_DEPL_IMG: unused MANILASHARE_DEPL_IMG: unused MANILA_BRANCH: main MANILA_COMMIT_HASH: '' MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests MANILA_KUTTL_NAMESPACE: manila-kuttl-tests MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git MANILA_SERVICE_ENABLED: 'true' MARIADB: config/samples/mariadb_v1beta1_galera.yaml MARIADB_BRANCH: main MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests MARIADB_COMMIT_HASH: '' MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml MARIADB_DEPL_IMG: unused MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_DEPL_IMG: unused METADATA_SHARED_SECRET: '12**********42' METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 METALLB_POOL: 192.168.122.80-192.168.122.90 MICROSHIFT: '0' NAMESPACE: openstack NETCONFIG: config/samples/network_v1beta1_netconfig.yaml NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml NETCONFIG_DEPL_IMG: unused NETOBSERV_DEPLOY_NAMESPACE: netobserv NETOBSERV_NAMESPACE: openshift-netobserv-operator NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net NETOBSERV_SUBSCRIPTION: netobserv-operator NETWORK_BGP: 'false' NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 NETWORK_ISOLATION: 'true' NETWORK_ISOLATION_INSTANCE_NAME: crc NETWORK_ISOLATION_IPV4: 'true' NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 NETWORK_ISOLATION_IPV4_NAT: 'true' NETWORK_ISOLATION_IPV6: 'false' NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' NETWORK_ISOLATION_NETWORK_NAME: net-iso NETWORK_ISOLATION_NET_NAME: default NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' NETWORK_MTU: '1500' NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 NETWORK_STORAGE_MACVLAN: '' NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 NETWORK_VLAN_START: '20' NETWORK_VLAN_STEP: '1' NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_DEPL_IMG: unused NEUTRON_BRANCH: main NEUTRON_COMMIT_HASH: '' NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git NFS_HOME: /home/nfs NMSTATE_NAMESPACE: openshift-nmstate NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator NNCP_ADDITIONAL_HOST_ROUTES: '' NNCP_BGP_1_INTERFACE: enp7s0 NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 NNCP_BGP_2_INTERFACE: enp8s0 NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 NNCP_BRIDGE: ospbr NNCP_CLEANUP_TIMEOUT: 120s NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' NNCP_DNS_SERVER: 192.168.122.1 NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 NNCP_GATEWAY: 192.168.122.1 NNCP_GATEWAY_IPV6: fd00:aaaa::1 NNCP_INTERFACE: enp6s0 NNCP_NODES: '' NNCP_TIMEOUT: 240s NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_BRANCH: main NOVA_COMMIT_HASH: '' NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git NUMBER_OF_INSTANCES: '1' OCP_NETWORK_NAME: crc OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_BRANCH: main OCTAVIA_COMMIT_HASH: '' OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git OKD: 'false' OPENSTACK_BRANCH: main OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest OPENSTACK_COMMIT_HASH: '' OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_CRDS_DIR: openstack_crds OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest OPENSTACK_K8S_BRANCH: main OPENSTACK_K8S_TAG: latest OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests OPENSTACK_NEUTRON_CUSTOM_CONF: '' OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator OPERATOR_CHANNEL: '' OPERATOR_NAMESPACE: openstack-operators OPERATOR_SOURCE: '' OPERATOR_SOURCE_NAMESPACE: '' OUT: /home/zuul/ci-framework-data/artifacts/manifests OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_NMAP: 'true' OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml OVN_BRANCH: main OVN_COMMIT_HASH: '' OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests OVN_KUTTL_NAMESPACE: ovn-kuttl-tests OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git PASSWORD: '12**********78' PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_DEPL_IMG: unused PLACEMENT_BRANCH: main PLACEMENT_COMMIT_HASH: '' PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_BRANCH: patches RABBITMQ_COMMIT_HASH: '' RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_DEPL_IMG: unused RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git REDHAT_OPERATORS: 'false' REDIS: config/samples/redis_v1beta1_redis.yaml REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml REDIS_DEPL_IMG: unused RH_REGISTRY_PWD: '' RH_REGISTRY_USER: '' SECRET: os**********et SG_CORE_DEPL_IMG: unused STANDALONE_COMPUTE_DRIVER: libvirt STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 STANDALONE_STORAGE_NET_PREFIX: 172.18.0 STANDALONE_TENANT_NET_PREFIX: 172.19.0 STORAGEMGMT_HOST_ROUTES: '' STORAGE_CLASS: local-storage STORAGE_HOST_ROUTES: '' SWIFT: config/samples/swift_v1beta1_swift.yaml SWIFT_BRANCH: main SWIFT_COMMIT_HASH: '' SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_BRANCH: main TELEMETRY_COMMIT_HASH: '' TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: test/kuttl/suites TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git TENANT_HOST_ROUTES: '' TIMEOUT: 300s TLS_ENABLED: 'false' tripleo_deploy: 'export REGISTRY_USER:' group_names: - ungrouped groups: all: - controller - crc - localhost computes: [] ocps: - crc ungrouped: &id001 - controller - localhost zuul_unreachable: [] hook_callback: changed: false failed: false stat: exists: false hook_name: fetch_crc_facts_and_save_them_ hook_result: changed: false false_condition: hook.hook_retry | default(false) skip_reason: Conditional result was False skipped: true hostvars: controller: ansible_check_mode: false ansible_config_file: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ansible.cfg ansible_connection: ssh ansible_diff_mode: false ansible_facts: {} ansible_forks: 5 ansible_host: 38.102.83.45 ansible_inventory_sources: - /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml ansible_playbook_python: /usr/bin/python3 ansible_port: 22 ansible_python_interpreter: auto ansible_run_tags: - all ansible_skip_tags: [] ansible_user: zuul ansible_user_dir: /home/zuul ansible_verbosity: 0 ansible_version: full: 2.15.13 major: 2 minor: 15 revision: 13 string: 2.15.13 cifmw_architecture_repo: /home/zuul/src/github.com/openstack-k8s-operators/architecture cifmw_architecture_repo_relative: src/github.com/openstack-k8s-operators/architecture cifmw_artifacts_basedir: /home/zuul/ci-framework-data cifmw_artifacts_crc_sshkey: ~/.ssh/id_cifw cifmw_basedir: /home/zuul/ci-framework-data cifmw_dlrn_report_result: false cifmw_extras: - '@scenarios/centos-9/kuttl_multinode.yml' cifmw_install_yamls_vars: BMO_SETUP: false cifmw_installyamls_repos: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls cifmw_installyamls_repos_relative: src/github.com/openstack-k8s-operators/install_yamls cifmw_kuttl_tests_env_vars: PV_NUM: 20 cifmw_kuttl_tests_operator_list: - openstack - barbican - keystone - horizon cifmw_make_ceph_environment: CEPH_TIMEOUT: 120 cifmw_openshift_api: api.crc.testing:6443 cifmw_openshift_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_password: '12**********89' cifmw_openshift_setup_skip_internal_registry: true cifmw_openshift_skip_tls_verify: true cifmw_openshift_user: kubeadmin cifmw_project_dir: src/github.com/openstack-k8s-operators/ci-framework cifmw_project_dir_absolute: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework cifmw_repo_setup_dist_major_version: 9 cifmw_repo_setup_os_release: centos cifmw_run_tests: true cifmw_use_libvirt: false cifmw_zuul_target_host: controller commands_after_kuttl_run: - oc get pv - oc get all commands_before_kuttl_run: - oc get pv - oc get all crc_ci_bootstrap_cloud_name: vexxhost crc_ci_bootstrap_networking: instances: controller: networks: default: ip: 192.168.122.11 crc: networks: default: ip: 192.168.122.10 internal-api: ip: 172.17.0.5 storage: ip: 172.18.0.5 tenant: ip: 172.19.0.5 networks: default: mtu: 1500 range: 192.168.122.0/24 router: false router_net: '' transparent: true internal-api: range: 172.17.0.0/24 vlan: 20 storage: range: 172.18.0.0/24 vlan: 21 tenant: range: 172.19.0.0/24 vlan: 22 enable_ramdisk: true group_names: - ungrouped groups: all: - controller - crc - localhost computes: [] ocps: - crc ungrouped: *id001 zuul_unreachable: [] inventory_dir: /home/zuul/ci-framework-data/artifacts inventory_file: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml inventory_hostname: controller inventory_hostname_short: controller nodepool: az: nova cloud: vexxhost-nodepool-tripleo external_id: b829e535-05da-47f9-ae7a-b87d6e4602b7 host_id: 5519e7a0ee5dc826795d295efc9c908d171b61deb9bf71b1016f861f interface_ip: 38.102.83.45 label: cloud-centos-9-stream-tripleo-medium private_ipv4: 38.102.83.45 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.102.83.45 public_ipv6: '' region: RegionOne slot: null omit: __omit_place_holder__36c4acaa7719cd8cc020b2df2a3d2c50e219ea7b playbook_dir: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl post_ctlplane_deploy: - name: Tune rabbitmq resources source: rabbitmq_tuning.yml type: playbook pre_deploy: - name: Deploy toy ceph source: ceph-deploy.yml type: playbook pre_infra: - connection: local inventory: localhost, name: Download needed tools source: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/download_tools.yaml type: playbook pre_kuttl: - inventory: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml name: Fetch crc facts and save them as parameters for kuttl jobs source: kuttl_openstack_prep.yml type: playbook push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' ansible_version: '8' attempts: 1 branch: main build: 727b8a3d74d1412b8f45f0b1fac4891c build_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null buildset: 5aaec7e89b664b56b85280d171f700d4 buildset_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 child_jobs: [] commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 event_id: 4ab514e0-d039-11f0-81e0-fb882bdc02c6 executor: hostname: ze03.softwarefactory-project.io inventory_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/ansible/inventory.yaml log_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/logs result_data_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/results.json src_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/src work_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work items: - branch: master change: '58488' change_url: https://review.rdoproject.org/r/c/rdo-jobs/+/58488 commit_id: b7327b74f191ac2394d2701b1b8d5509395ae1fb patchset: '1' project: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs name: rdo-jobs short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs topic: null - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null job: cifmw-multinode-kuttl jobtags: [] max_attempts: 1 message: W211bHRpcGxlXSBNb3ZlIGNpZm13X2Jhc2VkaXIgdmFyIHRvIGdyb3VwX3ZhcnMgCgpUaGUgYGNpZm13X2Jhc2VkaXJgIHZhcmlhYmxlIGlzIG5vdyBleHBlY3RlZCB0byBiZSBkZWZpbmVkIGdyb3VwX3ZhcnMuDQpQcmV2aW91cyBmYWxsYmFjayB0byBgYW5zaWJsZV91c2VyX2RpciB+ICcvY2ktZnJhbWV3b3JrLWRhdGEnYCBoYXMgYmVlbg0KcmVtb3ZlZCBmcm9tIHBsYXlib29rcyBhbmQgcm9sZXMuDQoNClRoaXMgY2hhbmdlIGVuc3VyZXMgY29uc2lzdGVuY3kgYWNyb3NzIHJvbGVzIGFuZCBwcmV2ZW50cyBhY2NpZGVudGFsIHVzZQ0Kb2YgYSBkZWZhdWx0IHBhdGggd2hlbiBgY2lmbXdfYmFzZWRpcmAgaXMgaW50ZW50aW9uYWxseSB1bnNldC4NCg0KVGhpcyBjb21taXQgaXMgb25lIHBhcnQgb2YgYSBzZXQgb2YgY2hhbmdlcy4NCg0KTk9URToNClByb2JhYmx5IHRoaXMgY29tbWl0IHdvdWxkIGJlIHNwbGl0IGludG8gZmV3IHB1bGwgcmVxdWVzdHMuDQoNCk1vcmU6IFtPU1BSSC0yMDQ5MV0oaHR0cHM6Ly9pc3N1ZXMucmVkaGF0LmNvbS8vYnJvd3NlL09TUFJILTIwNDkxKQ0KDQpEZXBlbmRzLU9uOiBodHRwczovL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yL2MvcmRvLWpvYnMvKy81ODQ4OA== patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: 9df4e7d5b028e976203d64479f9b7a76c1c95a24 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 14b37c7112dcbbe48013b78b824825772b01b2c2 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 2261ed433b240c3ce81443dcd27657d36bfed699 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_1/role_3/rdo-jobs/roles post_review: false project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework projects: github.com/crc-org/crc-cloud: canonical_hostname: github.com canonical_name: github.com/crc-org/crc-cloud checkout: main checkout_description: project override ref commit: 49d5584967047c568a7e417ac8c7f34e3ae28ba8 name: crc-org/crc-cloud required: true short_name: crc-cloud src_dir: src/github.com/crc-org/crc-cloud github.com/openstack-k8s-operators/ci-framework: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main checkout_description: zuul branch commit: 2261ed433b240c3ce81443dcd27657d36bfed699 name: openstack-k8s-operators/ci-framework required: true short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework github.com/openstack-k8s-operators/edpm-ansible: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/edpm-ansible checkout: main checkout_description: zuul branch commit: e055d0820cb705f856846768f0507c4d53f62762 name: openstack-k8s-operators/edpm-ansible required: true short_name: edpm-ansible src_dir: src/github.com/openstack-k8s-operators/edpm-ansible github.com/openstack-k8s-operators/infra-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator checkout: main checkout_description: zuul branch commit: 1ff40691b66dd893904896b4a00a0cdcd138fdf0 name: openstack-k8s-operators/infra-operator required: true short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator github.com/openstack-k8s-operators/install_yamls: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/install_yamls checkout: main checkout_description: zuul branch commit: 14dc885eaff1841abcc0206a1a21f6e54d9fad7b name: openstack-k8s-operators/install_yamls required: true short_name: install_yamls src_dir: src/github.com/openstack-k8s-operators/install_yamls github.com/openstack-k8s-operators/openstack-baremetal-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-baremetal-operator checkout: main checkout_description: zuul branch commit: fe40bf12d8c6c641c7929a0e49878722e80d6899 name: openstack-k8s-operators/openstack-baremetal-operator required: true short_name: openstack-baremetal-operator src_dir: src/github.com/openstack-k8s-operators/openstack-baremetal-operator github.com/openstack-k8s-operators/openstack-must-gather: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-must-gather checkout: main checkout_description: zuul branch commit: 2da49819dd6af6036aede5e4e9a080ff2c6457de name: openstack-k8s-operators/openstack-must-gather required: true short_name: openstack-must-gather src_dir: src/github.com/openstack-k8s-operators/openstack-must-gather github.com/openstack-k8s-operators/openstack-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator checkout: main checkout_description: zuul branch commit: b102924657dd294d08db769acac26201e395a333 name: openstack-k8s-operators/openstack-operator required: true short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator github.com/openstack-k8s-operators/repo-setup: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/repo-setup checkout: main checkout_description: zuul branch commit: 37b10946c6a10f9fa26c13305f06bfd6867e723f name: openstack-k8s-operators/repo-setup required: true short_name: repo-setup src_dir: src/github.com/openstack-k8s-operators/repo-setup opendev.org/zuul/zuul-jobs: canonical_hostname: opendev.org canonical_name: opendev.org/zuul/zuul-jobs checkout: master checkout_description: project default branch commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad name: zuul/zuul-jobs required: true short_name: zuul-jobs src_dir: src/opendev.org/zuul/zuul-jobs review.rdoproject.org/config: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/config checkout: master checkout_description: project default branch commit: 40052f923df77143f1c9739304c4b4221346825f name: config required: true short_name: config src_dir: src/review.rdoproject.org/config review.rdoproject.org/rdo-jobs: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs checkout: master checkout_description: project default branch commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb name: rdo-jobs required: false short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs ref: refs/pull/3451/head resources: {} tenant: rdoproject.org timeout: 9000 topic: null voting: true zuul_log_collection: true crc: ansible_check_mode: false ansible_config_file: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ansible.cfg ansible_connection: ssh ansible_diff_mode: false ansible_facts: {} ansible_forks: 5 ansible_host: 38.129.56.252 ansible_inventory_sources: - /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml ansible_playbook_python: /usr/bin/python3 ansible_port: 22 ansible_python_interpreter: auto ansible_run_tags: - all ansible_skip_tags: [] ansible_user: core ansible_user_dir: /home/zuul ansible_verbosity: 0 ansible_version: full: 2.15.13 major: 2 minor: 15 revision: 13 string: 2.15.13 cifmw_architecture_repo: /home/zuul/src/github.com/openstack-k8s-operators/architecture cifmw_architecture_repo_relative: src/github.com/openstack-k8s-operators/architecture cifmw_artifacts_basedir: /home/zuul/ci-framework-data cifmw_artifacts_crc_sshkey: ~/.ssh/id_cifw cifmw_basedir: /home/zuul/ci-framework-data cifmw_dlrn_report_result: false cifmw_extras: - '@scenarios/centos-9/kuttl_multinode.yml' cifmw_install_yamls_vars: BMO_SETUP: false cifmw_installyamls_repos: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls cifmw_installyamls_repos_relative: src/github.com/openstack-k8s-operators/install_yamls cifmw_kuttl_tests_env_vars: PV_NUM: 20 cifmw_kuttl_tests_operator_list: - openstack - barbican - keystone - horizon cifmw_make_ceph_environment: CEPH_TIMEOUT: 120 cifmw_openshift_api: api.crc.testing:6443 cifmw_openshift_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_password: '12**********89' cifmw_openshift_setup_skip_internal_registry: true cifmw_openshift_skip_tls_verify: true cifmw_openshift_user: kubeadmin cifmw_project_dir: src/github.com/openstack-k8s-operators/ci-framework cifmw_project_dir_absolute: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework cifmw_repo_setup_dist_major_version: 9 cifmw_repo_setup_os_release: centos cifmw_run_tests: true cifmw_use_libvirt: false cifmw_zuul_target_host: controller commands_after_kuttl_run: - oc get pv - oc get all commands_before_kuttl_run: - oc get pv - oc get all crc_ci_bootstrap_cloud_name: vexxhost crc_ci_bootstrap_networking: instances: controller: networks: default: ip: 192.168.122.11 crc: networks: default: ip: 192.168.122.10 internal-api: ip: 172.17.0.5 storage: ip: 172.18.0.5 tenant: ip: 172.19.0.5 networks: default: mtu: 1500 range: 192.168.122.0/24 router: false router_net: '' transparent: true internal-api: range: 172.17.0.0/24 vlan: 20 storage: range: 172.18.0.0/24 vlan: 21 tenant: range: 172.19.0.0/24 vlan: 22 enable_ramdisk: true group_names: - ocps groups: all: - controller - crc - localhost computes: [] ocps: - crc ungrouped: *id001 zuul_unreachable: [] inventory_dir: /home/zuul/ci-framework-data/artifacts inventory_file: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml inventory_hostname: crc inventory_hostname_short: crc nodepool: az: nova cloud: vexxhost-nodepool-tripleo external_id: ad4477df-a9a6-40d9-b422-36e1612ca334 host_id: 5519e7a0ee5dc826795d295efc9c908d171b61deb9bf71b1016f861f interface_ip: 38.129.56.252 label: crc-cloud-ocp-4-18-1-3xl private_ipv4: 38.129.56.252 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.129.56.252 public_ipv6: '' region: RegionOne slot: null omit: __omit_place_holder__36c4acaa7719cd8cc020b2df2a3d2c50e219ea7b playbook_dir: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl post_ctlplane_deploy: - name: Tune rabbitmq resources source: rabbitmq_tuning.yml type: playbook pre_deploy: - name: Deploy toy ceph source: ceph-deploy.yml type: playbook pre_infra: - connection: local inventory: localhost, name: Download needed tools source: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/download_tools.yaml type: playbook pre_kuttl: - inventory: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml name: Fetch crc facts and save them as parameters for kuttl jobs source: kuttl_openstack_prep.yml type: playbook push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' ansible_version: '8' attempts: 1 branch: main build: 727b8a3d74d1412b8f45f0b1fac4891c build_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null buildset: 5aaec7e89b664b56b85280d171f700d4 buildset_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 child_jobs: [] commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 event_id: 4ab514e0-d039-11f0-81e0-fb882bdc02c6 executor: hostname: ze03.softwarefactory-project.io inventory_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/ansible/inventory.yaml log_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/logs result_data_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/results.json src_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/src work_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work items: - branch: master change: '58488' change_url: https://review.rdoproject.org/r/c/rdo-jobs/+/58488 commit_id: b7327b74f191ac2394d2701b1b8d5509395ae1fb patchset: '1' project: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs name: rdo-jobs short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs topic: null - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null job: cifmw-multinode-kuttl jobtags: [] max_attempts: 1 message: W211bHRpcGxlXSBNb3ZlIGNpZm13X2Jhc2VkaXIgdmFyIHRvIGdyb3VwX3ZhcnMgCgpUaGUgYGNpZm13X2Jhc2VkaXJgIHZhcmlhYmxlIGlzIG5vdyBleHBlY3RlZCB0byBiZSBkZWZpbmVkIGdyb3VwX3ZhcnMuDQpQcmV2aW91cyBmYWxsYmFjayB0byBgYW5zaWJsZV91c2VyX2RpciB+ICcvY2ktZnJhbWV3b3JrLWRhdGEnYCBoYXMgYmVlbg0KcmVtb3ZlZCBmcm9tIHBsYXlib29rcyBhbmQgcm9sZXMuDQoNClRoaXMgY2hhbmdlIGVuc3VyZXMgY29uc2lzdGVuY3kgYWNyb3NzIHJvbGVzIGFuZCBwcmV2ZW50cyBhY2NpZGVudGFsIHVzZQ0Kb2YgYSBkZWZhdWx0IHBhdGggd2hlbiBgY2lmbXdfYmFzZWRpcmAgaXMgaW50ZW50aW9uYWxseSB1bnNldC4NCg0KVGhpcyBjb21taXQgaXMgb25lIHBhcnQgb2YgYSBzZXQgb2YgY2hhbmdlcy4NCg0KTk9URToNClByb2JhYmx5IHRoaXMgY29tbWl0IHdvdWxkIGJlIHNwbGl0IGludG8gZmV3IHB1bGwgcmVxdWVzdHMuDQoNCk1vcmU6IFtPU1BSSC0yMDQ5MV0oaHR0cHM6Ly9pc3N1ZXMucmVkaGF0LmNvbS8vYnJvd3NlL09TUFJILTIwNDkxKQ0KDQpEZXBlbmRzLU9uOiBodHRwczovL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yL2MvcmRvLWpvYnMvKy81ODQ4OA== patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: 9df4e7d5b028e976203d64479f9b7a76c1c95a24 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 14b37c7112dcbbe48013b78b824825772b01b2c2 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 2261ed433b240c3ce81443dcd27657d36bfed699 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_1/role_3/rdo-jobs/roles post_review: false project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework projects: github.com/crc-org/crc-cloud: canonical_hostname: github.com canonical_name: github.com/crc-org/crc-cloud checkout: main checkout_description: project override ref commit: 49d5584967047c568a7e417ac8c7f34e3ae28ba8 name: crc-org/crc-cloud required: true short_name: crc-cloud src_dir: src/github.com/crc-org/crc-cloud github.com/openstack-k8s-operators/ci-framework: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main checkout_description: zuul branch commit: 2261ed433b240c3ce81443dcd27657d36bfed699 name: openstack-k8s-operators/ci-framework required: true short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework github.com/openstack-k8s-operators/edpm-ansible: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/edpm-ansible checkout: main checkout_description: zuul branch commit: e055d0820cb705f856846768f0507c4d53f62762 name: openstack-k8s-operators/edpm-ansible required: true short_name: edpm-ansible src_dir: src/github.com/openstack-k8s-operators/edpm-ansible github.com/openstack-k8s-operators/infra-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator checkout: main checkout_description: zuul branch commit: 1ff40691b66dd893904896b4a00a0cdcd138fdf0 name: openstack-k8s-operators/infra-operator required: true short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator github.com/openstack-k8s-operators/install_yamls: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/install_yamls checkout: main checkout_description: zuul branch commit: 14dc885eaff1841abcc0206a1a21f6e54d9fad7b name: openstack-k8s-operators/install_yamls required: true short_name: install_yamls src_dir: src/github.com/openstack-k8s-operators/install_yamls github.com/openstack-k8s-operators/openstack-baremetal-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-baremetal-operator checkout: main checkout_description: zuul branch commit: fe40bf12d8c6c641c7929a0e49878722e80d6899 name: openstack-k8s-operators/openstack-baremetal-operator required: true short_name: openstack-baremetal-operator src_dir: src/github.com/openstack-k8s-operators/openstack-baremetal-operator github.com/openstack-k8s-operators/openstack-must-gather: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-must-gather checkout: main checkout_description: zuul branch commit: 2da49819dd6af6036aede5e4e9a080ff2c6457de name: openstack-k8s-operators/openstack-must-gather required: true short_name: openstack-must-gather src_dir: src/github.com/openstack-k8s-operators/openstack-must-gather github.com/openstack-k8s-operators/openstack-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator checkout: main checkout_description: zuul branch commit: b102924657dd294d08db769acac26201e395a333 name: openstack-k8s-operators/openstack-operator required: true short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator github.com/openstack-k8s-operators/repo-setup: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/repo-setup checkout: main checkout_description: zuul branch commit: 37b10946c6a10f9fa26c13305f06bfd6867e723f name: openstack-k8s-operators/repo-setup required: true short_name: repo-setup src_dir: src/github.com/openstack-k8s-operators/repo-setup opendev.org/zuul/zuul-jobs: canonical_hostname: opendev.org canonical_name: opendev.org/zuul/zuul-jobs checkout: master checkout_description: project default branch commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad name: zuul/zuul-jobs required: true short_name: zuul-jobs src_dir: src/opendev.org/zuul/zuul-jobs review.rdoproject.org/config: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/config checkout: master checkout_description: project default branch commit: 40052f923df77143f1c9739304c4b4221346825f name: config required: true short_name: config src_dir: src/review.rdoproject.org/config review.rdoproject.org/rdo-jobs: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs checkout: master checkout_description: project default branch commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb name: rdo-jobs required: false short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs ref: refs/pull/3451/head resources: {} tenant: rdoproject.org timeout: 9000 topic: null voting: true zuul_log_collection: true localhost: _ca_content: changed: false false_condition: cifmw_openshift_setup_ca_registry_to_add is defined skip_reason: Conditional result was False skipped: true _cifmw_kuttl_xml_files: changed: false examined: 22 failed: false files: - atime: 1764767510.445762 ctime: 1764767503.7655709 dev: 64513 gid: 1000 gr_name: zuul inode: 25330653 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764767503.7655709 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-openstack.xml pw_name: zuul rgrp: true roth: true rusr: true size: 438 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764767932.656849 ctime: 1764767909.7381928 dev: 64513 gid: 1000 gr_name: zuul inode: 25329955 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764767909.7381928 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-barbican.xml pw_name: zuul rgrp: true roth: true rusr: true size: 562 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764769166.6702645 ctime: 1764769143.7256045 dev: 64513 gid: 1000 gr_name: zuul inode: 25320020 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764769143.7256045 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-keystone.xml pw_name: zuul rgrp: true roth: true rusr: true size: 998 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764769595.834604 ctime: 1764769595.834604 dev: 64513 gid: 1000 gr_name: zuul inode: 25329519 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764769595.834604 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-horizon.xml pw_name: zuul rgrp: true roth: true rusr: true size: 566 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 4 msg: All paths examined skipped_paths: {} _component_repo: changed: false false_condition: content_provider_registry_ip is defined skip_reason: Conditional result was False skipped: true _current_podified_hash: changed: false false_condition: cifmw_repo_setup_component_name | length > 0 skip_reason: Conditional result was False skipped: true _current_rh_release: changed: false false_condition: ansible_distribution == 'RedHat' skip_reason: Conditional result was False skipped: true _dlrn_repo: changed: false false_condition: content_provider_registry_ip is defined skip_reason: Conditional result was False skipped: true _file_result: changed: false false_condition: cifmw_repo_setup_component_name | length > 0 skip_reason: Conditional result was False skipped: true _get_hash: changed: true cmd: - /home/zuul/ci-framework-data/venv/repo-setup/bin/repo-setup-get-hash - --dlrn-url - https://trunk.rdoproject.org - --os-version - centos9 - --release - antelope - --tag - current-podified - --json delta: '0:00:00.266429' end: '2025-12-03 11:29:15.131557' failed: false msg: '' rc: 0 start: '2025-12-03 11:29:14.865128' stderr: '' stderr_lines: [] stdout: '{"commit_hash": null, "distro_hash": null, "full_hash": "fa2bb8efef6782c26ea7f1675eeb36dd", "extended_hash": null, "dlrn_url": "https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5", "dlrn_api_url": "https://trunk.rdoproject.org/api-centos9-antelope", "os_version": "centos9", "release": "antelope", "component": null, "tag": "current-podified"}' stdout_lines: - '{"commit_hash": null, "distro_hash": null, "full_hash": "fa2bb8efef6782c26ea7f1675eeb36dd", "extended_hash": null, "dlrn_url": "https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5", "dlrn_api_url": "https://trunk.rdoproject.org/api-centos9-antelope", "os_version": "centos9", "release": "antelope", "component": null, "tag": "current-podified"}' _hostnames: changed: true msg: All items completed results: - ansible_loop_var: item changed: true cmd: - hostname delta: '0:00:00.004586' end: '2025-12-03 13:39:59.818443' failed: false invocation: module_args: _raw_params: hostname _uses_shell: false argv: null chdir: null creates: null executable: null removes: null stdin: null stdin_add_newline: true strip_empty_ends: true item: crc msg: '' rc: 0 start: '2025-12-03 13:39:59.813857' stderr: '' stderr_lines: [] stdout: crc stdout_lines: - crc - ansible_loop_var: item changed: true cmd: - hostname delta: '0:00:00.005166' end: '2025-12-03 13:40:00.232380' failed: false invocation: module_args: _raw_params: hostname _uses_shell: false argv: null chdir: null creates: null executable: null removes: null stdin: null stdin_add_newline: true strip_empty_ends: true item: controller msg: '' rc: 0 start: '2025-12-03 13:40:00.227214' stderr: '' stderr_lines: [] stdout: controller stdout_lines: - controller - ansible_loop_var: item changed: true cmd: - hostname delta: '0:00:00.005280' end: '2025-12-03 13:40:00.472199' failed: false invocation: module_args: _raw_params: hostname _uses_shell: false argv: null chdir: null creates: null executable: null removes: null stdin: null stdin_add_newline: true strip_empty_ends: true item: localhost msg: '' rc: 0 start: '2025-12-03 13:40:00.466919' stderr: '' stderr_lines: [] stdout: controller stdout_lines: - controller skipped: false warnings: - Platform linux on host localhost is using the discovered Python interpreter at /usr/bin/python3.9, but future installation of another Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-core/2.15/reference_appendices/interpreter_discovery.html for more information. _included_dir: changed: false failed: false stat: atime: 1764761468.5586903 attr_flags: '' attributes: [] block_size: 4096 blocks: 0 charset: binary ctime: 1764761467.5436609 dev: 64513 device_type: 0 executable: true exists: true gid: 1000 gr_name: zuul inode: 62999110 isblk: false ischr: false isdir: true isfifo: false isgid: false islnk: false isreg: false issock: false isuid: false mimetype: inode/directory mode: '0755' mtime: 1764761467.5436609 nlink: 2 path: /home/zuul/ci-framework-data/artifacts/parameters pw_name: zuul readable: true rgrp: true roth: true rusr: true size: 172 uid: 1000 version: '4036784927' wgrp: false woth: false writeable: true wusr: true xgrp: true xoth: true xusr: true _included_file: changed: false failed: false stat: atime: 1764761469.711724 attr_flags: '' attributes: [] block_size: 4096 blocks: 8 charset: us-ascii checksum: 29056a5c64c41a26ffb5df50b8ba1f6dad5f3962 ctime: 1764761467.5436609 dev: 64513 device_type: 0 executable: false exists: true gid: 1000 gr_name: zuul inode: 75620867 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mimetype: text/plain mode: '0644' mtime: 1764761467.1656497 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml pw_name: zuul readable: true rgrp: true roth: true rusr: true size: 116 uid: 1000 version: '582692024' wgrp: false woth: false writeable: true wusr: true xgrp: false xoth: false xusr: false _install_yamls_override_vars: BMO_SETUP: false _network: api_found: true changed: false failed: false resources: - apiVersion: operator.openshift.io/v1 kind: Network metadata: creationTimestamp: '2025-02-23T05:12:01Z' generation: 3 managedFields: - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:clusterNetwork: {} f:defaultNetwork: f:ovnKubernetesConfig: f:egressIPConfig: {} f:gatewayConfig: f:ipv4: {} f:ipv6: {} f:genevePort: {} f:ipsecConfig: f:mode: {} f:mtu: {} f:policyAuditConfig: f:destination: {} f:maxFileSize: {} f:maxLogFiles: {} f:rateLimit: {} f:syslogFacility: {} f:type: {} f:deployKubeProxy: {} f:disableMultiNetwork: {} f:disableNetworkDiagnostics: {} f:logLevel: {} f:managementState: {} f:observedConfig: {} f:operatorLogLevel: {} f:serviceNetwork: {} f:unsupportedConfigOverrides: {} f:useMultiNetworkPolicy: {} manager: cluster-network-operator/operconfig operation: Apply time: '2025-02-23T05:21:19Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:clusterNetwork: {} f:defaultNetwork: f:type: {} f:disableNetworkDiagnostics: {} f:managementState: {} f:observedConfig: {} f:serviceNetwork: {} f:unsupportedConfigOverrides: {} manager: cluster-network-operator/clusterconfig operation: Apply time: '2025-12-03T11:20:37Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Degraded"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"ManagementStateDegraded"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Upgradeable"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:version: {} manager: cluster-network-operator/status-manager operation: Apply subresource: status time: '2025-12-03T11:20:58Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: .: {} f:defaultNetwork: .: {} f:openshiftSDNConfig: .: {} f:mtu: {} f:disableNetworkDiagnostics: {} f:logLevel: {} f:operatorLogLevel: {} manager: cluster-bootstrap operation: Update time: '2025-02-23T05:12:01Z' - apiVersion: operator.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:status: .: {} f:conditions: .: {} k:{"type":"ManagementStateDegraded"}: .: {} f:status: {} f:type: {} f:readyReplicas: {} manager: network-operator operation: Update subresource: status time: '2025-02-23T05:21:22Z' name: cluster resourceVersion: '28452' uid: 8d01ddba-7e05-4639-926a-4485de3b6327 spec: clusterNetwork: - cidr: 10.217.0.0/22 hostPrefix: 23 defaultNetwork: openshiftSDNConfig: mtu: 1400 ovnKubernetesConfig: egressIPConfig: {} gatewayConfig: ipv4: {} ipv6: {} routingViaHost: false genevePort: 6081 ipsecConfig: mode: Disabled mtu: 1400 policyAuditConfig: destination: 'null' maxFileSize: 50 maxLogFiles: 5 rateLimit: 20 syslogFacility: local0 type: OVNKubernetes deployKubeProxy: false disableMultiNetwork: false disableNetworkDiagnostics: false logLevel: Normal managementState: Managed observedConfig: null operatorLogLevel: Normal serviceNetwork: - 10.217.4.0/23 unsupportedConfigOverrides: null useMultiNetworkPolicy: false status: conditions: - lastTransitionTime: '2025-02-23T05:21:22Z' message: '' reason: '' status: 'False' type: ManagementStateDegraded - lastTransitionTime: '2025-12-03T11:20:58Z' message: '' reason: '' status: 'False' type: Degraded - lastTransitionTime: '2025-02-23T05:21:11Z' message: '' reason: '' status: 'True' type: Upgradeable - lastTransitionTime: '2025-12-03T11:20:58Z' message: '' reason: '' status: 'False' type: Progressing - lastTransitionTime: '2025-02-23T05:22:38Z' message: '' reason: '' status: 'True' type: Available readyReplicas: 0 version: 4.18.1 _oc_version: changed: false cmd: oc version --client -o yaml failed: false failed_when_result: false msg: '[Errno 2] No such file or directory: b''oc''' rc: 2 stderr: '' stderr_lines: [] stdout: '' stdout_lines: [] _parsed_vars: changed: false content: Y2lmbXdfa3V0dGxfb3BlbnN0YWNrX3ByZXBfdmFyczoKICAgIE5FVFdPUktfTVRVOiAxNTAwCiAgICBOTkNQX0ROU19TRVJWRVI6IDE5Mi4xNjguMTIyLjEwCiAgICBOTkNQX0lOVEVSRkFDRTogZW5zNwo= encoding: base64 failed: false source: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml _pod_status: changed: false false_condition: cifmw_openshift_setup_apply_marketplace_fix skip_reason: Conditional result was False skipped: true _pv_info: api_found: true changed: false failed: false resources: - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/bound-by-controller: 'yes' pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:20:31Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:pv.kubernetes.io/bound-by-controller: {} f:spec: f:claimRef: .: {} f:apiVersion: {} f:kind: {} f:name: {} f:namespace: {} f:resourceVersion: {} f:uid: {} manager: kube-scheduler operation: Update time: '2025-12-03T13:20:31Z' name: local-storage01-crc resourceVersion: '195969' uid: ec392b31-99aa-47a3-8b33-076eef58603d spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: mysql-db-openstack-galera-1 namespace: keystone-kuttl-tests resourceVersion: '195952' uid: d13dd3d0-ad0d-412f-8416-7369feb88a4c local: path: /mnt/openstack/pv01 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:20:31Z' phase: Bound - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage02-crc resourceVersion: '195204' uid: 670daf48-e7ab-4871-aa8b-6e8aea658a3d spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv02 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage03-crc resourceVersion: '195206' uid: eb0afc61-da43-4fb3-bd72-2833a8bc12ed spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv03 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage04-crc resourceVersion: '195208' uid: 32370f71-1430-47a2-88f0-89c51d7b039b spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv04 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage05-crc resourceVersion: '195210' uid: 437c7404-34bd-420a-9efb-71beb3585402 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv05 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage06-crc resourceVersion: '195212' uid: fa20a051-0d4f-4c6d-9d5f-1b0eddb2506d spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv06 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage07-crc resourceVersion: '195214' uid: cb566dfa-aa5d-4ebe-98f2-d3e1786124ea spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv07 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage08-crc resourceVersion: '195216' uid: e2906b29-bbd4-4b01-a977-109cb4398ca2 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv08 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{"pv.kubernetes.io/provisioned-by":"crc-devsetup"},"labels":{"provisioned-by":"crc-devsetup"},"name":"local-storage09-crc"},"spec":{"accessModes":["ReadWriteOnce","ReadWriteMany","ReadOnlyMany"],"capacity":{"storage":"10Gi"},"local":{"path":"/mnt/openstack/pv09","type":"DirectoryOrCreate"},"nodeAffinity":{"required":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"kubernetes.io/hostname","operator":"In","values":["crc"]}]}]}},"persistentVolumeReclaimPolicy":"Delete","storageClassName":"local-storage","volumeMode":"Filesystem"}} ' pv.kubernetes.io/bound-by-controller: 'yes' pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:09:59Z' deletionGracePeriodSeconds: 0 deletionTimestamp: '2025-12-03T13:19:01Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/last-applied-configuration: {} f:labels: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: kubectl-client-side-apply operation: Update time: '2025-12-03T13:09:59Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:pv.kubernetes.io/provisioned-by: {} f:labels: f:provisioned-by: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:12:23Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:13:45Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:pv.kubernetes.io/bound-by-controller: {} f:spec: f:claimRef: .: {} f:apiVersion: {} f:kind: {} f:name: {} f:namespace: {} f:resourceVersion: {} f:uid: {} manager: kube-scheduler operation: Update time: '2025-12-03T13:13:45Z' name: local-storage09-crc resourceVersion: '194870' uid: 69782be7-f629-4b3d-b62f-7499b22b9392 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: mysql-db-openstack-galera-2 namespace: barbican-kuttl-tests resourceVersion: '189025' uid: c9adb70e-0b52-43e2-abe6-5ffa1336f8f3 local: path: /mnt/openstack/pv09 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:13:45Z' phase: Bound - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage10-crc resourceVersion: '195218' uid: 1775b9ab-cc6b-486a-ab79-290b12f20b27 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv10 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage11-crc resourceVersion: '195220' uid: 8c1f8275-9324-415e-b681-d7e333c967e1 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv11 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available - apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: cifmw creationTimestamp: '2025-12-03T13:19:34Z' finalizers: - kubernetes.io/pv-protection labels: provisioned-by: cifmw managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:pv.kubernetes.io/provisioned-by: {} f:labels: .: {} f:provisioned-by: {} f:spec: f:accessModes: {} f:capacity: .: {} f:storage: {} f:local: .: {} f:path: {} f:nodeAffinity: .: {} f:required: {} f:persistentVolumeReclaimPolicy: {} f:storageClassName: {} f:volumeMode: {} manager: OpenAPI-Generator operation: Update time: '2025-12-03T13:19:34Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:phase: {} manager: kube-controller-manager operation: Update subresource: status time: '2025-12-03T13:19:34Z' name: local-storage12-crc resourceVersion: '195222' uid: 9415dfd9-51b4-4bac-a4c0-127765cb6963 spec: accessModes: - ReadWriteOnce - ReadWriteMany - ReadOnlyMany capacity: storage: 10Gi local: path: /mnt/openstack/pv12 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - crc persistentVolumeReclaimPolicy: Delete storageClassName: local-storage volumeMode: Filesystem status: lastPhaseTransitionTime: '2025-12-03T13:19:34Z' phase: Available _tmp_dir: changed: true failed: false gid: 1000 group: zuul mode: '0700' owner: zuul path: /tmp/ansible.d5tjy9uv secontext: unconfined_u:object_r:user_tmp_t:s0 size: 6 state: directory uid: 1000 _url_status: changed: false false_condition: content_provider_registry_ip is defined skip_reason: Conditional result was False skipped: true _yaml_files: changed: false examined: 5 failed: false files: - atime: 1764761334.6147957 ctime: 1764761331.0516944 dev: 64513 gid: 1000 gr_name: zuul inode: 79768480 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761330.7286854 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 17537 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3656263 ctime: 1764761453.059239 dev: 64513 gid: 1000 gr_name: zuul inode: 71587043 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.8812337 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 28055 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3796268 ctime: 1764761406.6458867 dev: 64513 gid: 1000 gr_name: zuul inode: 75555799 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761406.4868822 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 2047 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.380627 ctime: 1764761452.1852133 dev: 64513 gid: 1000 gr_name: zuul inode: 54941085 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.005208 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 280 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761469.711724 ctime: 1764761467.5436609 dev: 64513 gid: 1000 gr_name: zuul inode: 75620867 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761467.1656497 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml pw_name: zuul rgrp: true roth: true rusr: true size: 116 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 5 msg: All paths examined skipped_paths: {} _yum_repos: changed: false examined: 2 failed: false files: - atime: 1764761103.6102178 ctime: 1764562362.236 dev: 64513 gid: 0 gr_name: root inode: 13001090 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1752170717.0 nlink: 1 path: /etc/yum.repos.d/centos-addons.repo pw_name: root rgrp: true roth: true rusr: true size: 4245 uid: 0 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764707684.838 ctime: 1764707666.21 dev: 64513 gid: 0 gr_name: root inode: 13001091 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764707666.21 nlink: 1 path: /etc/yum.repos.d/centos.repo pw_name: root rgrp: true roth: true rusr: true size: 2600 uid: 0 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 2 msg: All paths examined skipped_paths: {} ansible_all_ipv4_addresses: - 192.168.122.11 - 38.102.83.45 ansible_all_ipv6_addresses: - fe80::f816:3eff:fea2:9e9c ansible_apparmor: status: disabled ansible_architecture: x86_64 ansible_bios_date: 04/01/2014 ansible_bios_vendor: SeaBIOS ansible_bios_version: 1.15.0-1 ansible_board_asset_tag: NA ansible_board_name: NA ansible_board_serial: NA ansible_board_vendor: NA ansible_board_version: NA ansible_chassis_asset_tag: NA ansible_chassis_serial: NA ansible_chassis_vendor: QEMU ansible_chassis_version: pc-i440fx-6.2 ansible_check_mode: false ansible_cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f ansible_config_file: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ansible.cfg ansible_connection: local ansible_date_time: date: '2025-12-03' day: '03' epoch: '1764769642' epoch_int: '1764769642' hour: '13' iso8601: '2025-12-03T13:47:22Z' iso8601_basic: 20251203T134722282483 iso8601_basic_short: 20251203T134722 iso8601_micro: '2025-12-03T13:47:22.282483Z' minute: '47' month: '12' second: '22' time: '13:47:22' tz: UTC tz_dst: UTC tz_offset: '+0000' weekday: Wednesday weekday_number: '3' weeknumber: '48' year: '2025' ansible_default_ipv4: address: 38.102.83.45 alias: eth0 broadcast: 38.102.83.255 gateway: 38.102.83.1 interface: eth0 macaddress: fa:16:3e:a2:9e:9c mtu: 1500 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' type: ether ansible_default_ipv6: {} ansible_device_links: ids: sr0: - ata-QEMU_DVD-ROM_QM00001 labels: sr0: - config-2 masters: {} uuids: sr0: - 2025-12-03-11-15-46-00 vda1: - fcf6b761-831a-48a7-9f5f-068b5063763f ansible_devices: sr0: holders: [] host: '' links: ids: - ata-QEMU_DVD-ROM_QM00001 labels: - config-2 masters: [] uuids: - 2025-12-03-11-15-46-00 model: QEMU DVD-ROM partitions: {} removable: '1' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: mq-deadline sectors: '964' sectorsize: '2048' size: 482.00 KB support_discard: '2048' vendor: QEMU virtual: 1 vda: holders: [] host: '' links: ids: [] labels: [] masters: [] uuids: [] model: null partitions: vda1: holders: [] links: ids: [] labels: [] masters: [] uuids: - fcf6b761-831a-48a7-9f5f-068b5063763f sectors: '83883999' sectorsize: 512 size: 40.00 GB start: '2048' uuid: fcf6b761-831a-48a7-9f5f-068b5063763f removable: '0' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: none sectors: '83886080' sectorsize: '512' size: 40.00 GB support_discard: '512' vendor: '0x1af4' virtual: 1 ansible_diff_mode: false ansible_distribution: CentOS ansible_distribution_file_parsed: true ansible_distribution_file_path: /etc/centos-release ansible_distribution_file_variety: CentOS ansible_distribution_major_version: '9' ansible_distribution_release: Stream ansible_distribution_version: '9' ansible_dns: nameservers: - 192.168.122.10 - 199.204.44.24 - 199.204.47.54 ansible_domain: '' ansible_effective_group_id: 1000 ansible_effective_user_id: 1000 ansible_env: BASH_FUNC_which%%: "() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n}" DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus DEBUGINFOD_IMA_CERT_PATH: '/etc/keys/ima:' DEBUGINFOD_URLS: 'https://debuginfod.centos.org/ ' HOME: /home/zuul LANG: en_US.UTF-8 LESSOPEN: '||/usr/bin/lesspipe.sh %s' LOGNAME: zuul MOTD_SHOWN: pam PATH: /home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PWD: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl SELINUX_LEVEL_REQUESTED: '' SELINUX_ROLE_REQUESTED: '' SELINUX_USE_CURRENT_RANGE: '' SHELL: /bin/bash SHLVL: '2' SSH_CLIENT: 38.102.83.114 56214 22 SSH_CONNECTION: 38.102.83.114 56214 38.102.83.45 22 USER: zuul XDG_RUNTIME_DIR: /run/user/1000 XDG_SESSION_CLASS: user XDG_SESSION_ID: '10' XDG_SESSION_TYPE: tty _: /usr/bin/python3 which_declare: declare -f ansible_eth0: active: true device: eth0 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 38.102.83.45 broadcast: 38.102.83.255 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' ipv6: - address: fe80::f816:3eff:fea2:9e9c prefix: '64' scope: link macaddress: fa:16:3e:a2:9e:9c module: virtio_net mtu: 1500 pciid: virtio1 promisc: false speed: -1 timestamping: [] type: ether ansible_eth1: active: true device: eth1 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 192.168.122.11 broadcast: 192.168.122.255 netmask: 255.255.255.0 network: 192.168.122.0 prefix: '24' macaddress: fa:16:3e:a9:87:42 module: virtio_net mtu: 1500 pciid: virtio5 promisc: false speed: -1 timestamping: [] type: ether ansible_facts: _ansible_facts_gathered: true all_ipv4_addresses: - 192.168.122.11 - 38.102.83.45 all_ipv6_addresses: - fe80::f816:3eff:fea2:9e9c ansible_local: {} apparmor: status: disabled architecture: x86_64 bios_date: 04/01/2014 bios_vendor: SeaBIOS bios_version: 1.15.0-1 board_asset_tag: NA board_name: NA board_serial: NA board_vendor: NA board_version: NA chassis_asset_tag: NA chassis_serial: NA chassis_vendor: QEMU chassis_version: pc-i440fx-6.2 cifmw_discovered_hash: 75a77d833a2ec47d10d7dfd7dba41dfe3c1be7e7e14ae5ab42563f9fb0e5e2d8 cifmw_discovered_hash_algorithm: sha256 cifmw_discovered_image_name: CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_discovered_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images//CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_install_yamls_defaults: ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 ADOPTED_TENANT_NETWORK: 172.9.1.0/24 ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_BRANCH: main ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator ANSIBLEE_COMMIT_HASH: '' BARBICAN: config/samples/barbican_v1beta1_barbican.yaml BARBICAN_BRANCH: main BARBICAN_COMMIT_HASH: '' BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml BARBICAN_DEPL_IMG: unused BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git BARBICAN_SERVICE_ENABLED: 'true' BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sE**********U= BAREMETAL_BRANCH: main BAREMETAL_COMMIT_HASH: '' BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest BAREMETAL_OS_CONTAINER_IMG: '' BAREMETAL_OS_IMG: '' BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git BAREMETAL_TIMEOUT: 20m BASH_IMG: quay.io/openstack-k8s-operators/bash:latest BGP_ASN: '64999' BGP_LEAF_1: 100.65.4.1 BGP_LEAF_2: 100.64.4.1 BGP_OVN_ROUTING: 'false' BGP_PEER_ASN: '64999' BGP_SOURCE_IP: 172.30.4.2 BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 BMAAS_INSTANCE_DISK_SIZE: '20' BMAAS_INSTANCE_MEMORY: '4096' BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas BMAAS_INSTANCE_NET_MODEL: virtio BMAAS_INSTANCE_OS_VARIANT: centos-stream9 BMAAS_INSTANCE_VCPUS: '2' BMAAS_INSTANCE_VIRT_TYPE: kvm BMAAS_IPV4: 'true' BMAAS_IPV6: 'false' BMAAS_LIBVIRT_USER: sushyemu BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 BMAAS_METALLB_POOL_NAME: baremetal BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 BMAAS_NETWORK_NAME: crc-bmaas BMAAS_NODE_COUNT: '1' BMAAS_OCP_INSTANCE_NAME: crc BMAAS_REDFISH_PASSWORD: password BMAAS_REDFISH_USERNAME: admin BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default BMAAS_SUSHY_EMULATOR_DRIVER: libvirt BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack BMH_NAMESPACE: openstack BMO_BRANCH: release-0.9 BMO_CLEANUP: 'true' BMO_COMMIT_HASH: '' BMO_IPA_BRANCH: stable/2024.1 BMO_IRONIC_HOST: 192.168.122.10 BMO_PROVISIONING_INTERFACE: '' BMO_REPO: https://github.com/metal3-io/baremetal-operator BMO_SETUP: false BMO_SETUP_ROUTE_REPLACE: 'true' BM_CTLPLANE_INTERFACE: enp1s0 BM_INSTANCE_MEMORY: '8192' BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal BM_INSTANCE_NAME_SUFFIX: '0' BM_NETWORK_NAME: default BM_NODE_COUNT: '1' BM_ROOT_PASSWORD: '' BM_ROOT_PASSWORD_SECRET: '' CEILOMETER_CENTRAL_DEPL_IMG: unused CEILOMETER_NOTIFICATION_DEPL_IMG: unused CEPH_BRANCH: release-1.15 CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml CEPH_IMG: quay.io/ceph/demo:latest-squid CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml CEPH_REPO: https://github.com/rook/rook.git CERTMANAGER_TIMEOUT: 300s CHECKOUT_FROM_OPENSTACK_REF: 'true' CINDER: config/samples/cinder_v1beta1_cinder.yaml CINDERAPI_DEPL_IMG: unused CINDERBKP_DEPL_IMG: unused CINDERSCH_DEPL_IMG: unused CINDERVOL_DEPL_IMG: unused CINDER_BRANCH: main CINDER_COMMIT_HASH: '' CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git CLEANUP_DIR_CMD: rm -Rf CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' CRC_HTTPS_PROXY: '' CRC_HTTP_PROXY: '' CRC_STORAGE_NAMESPACE: crc-storage CRC_STORAGE_RETRIES: '3' CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' CRC_VERSION: latest DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret DATAPLANE_ANSIBLE_USER: '' DATAPLANE_COMPUTE_IP: 192.168.122.100 DATAPLANE_CONTAINER_PREFIX: openstack DATAPLANE_CONTAINER_TAG: current-podified DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest DATAPLANE_DEFAULT_GW: 192.168.122.1 DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned DATAPLANE_NETWORKER_IP: 192.168.122.200 DATAPLANE_NETWORK_INTERFACE_NAME: eth0 DATAPLANE_NOVA_NFS_PATH: '' DATAPLANE_NTP_SERVER: pool.ntp.org DATAPLANE_PLAYBOOK: osp.edpm.download_cache DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 DATAPLANE_RUNNER_IMG: '' DATAPLANE_SERVER_ROLE: compute DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' DATAPLANE_TIMEOUT: 30m DATAPLANE_TLS_ENABLED: 'true' DATAPLANE_TOTAL_NETWORKER_NODES: '1' DATAPLANE_TOTAL_NODES: '1' DBSERVICE: galera DESIGNATE: config/samples/designate_v1beta1_designate.yaml DESIGNATE_BRANCH: main DESIGNATE_COMMIT_HASH: '' DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git DNSDATA: config/samples/network_v1beta1_dnsdata.yaml DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml DNS_DEPL_IMG: unused DNS_DOMAIN: localdomain DOWNLOAD_TOOLS_SELECTION: all EDPM_ATTACH_EXTNET: 'true' EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' EDPM_COMPUTE_CELLS: '1' EDPM_COMPUTE_CEPH_ENABLED: 'true' EDPM_COMPUTE_CEPH_NOVA: 'true' EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' EDPM_COMPUTE_SRIOV_ENABLED: 'true' EDPM_COMPUTE_SUFFIX: '0' EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' EDPM_CONFIGURE_HUGEPAGES: 'false' EDPM_CONFIGURE_NETWORKING: 'true' EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra EDPM_NETWORKER_SUFFIX: '0' EDPM_TOTAL_NETWORKERS: '1' EDPM_TOTAL_NODES: '1' GALERA_REPLICAS: '' GENERATE_SSH_KEYS: 'true' GIT_CLONE_OPTS: '' GLANCE: config/samples/glance_v1beta1_glance.yaml GLANCEAPI_DEPL_IMG: unused GLANCE_BRANCH: main GLANCE_COMMIT_HASH: '' GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git HEAT: config/samples/heat_v1beta1_heat.yaml HEATAPI_DEPL_IMG: unused HEATCFNAPI_DEPL_IMG: unused HEATENGINE_DEPL_IMG: unused HEAT_AUTH_ENCRYPTION_KEY: 76**********f0 HEAT_BRANCH: main HEAT_COMMIT_HASH: '' HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests HEAT_KUTTL_NAMESPACE: heat-kuttl-tests HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git HEAT_SERVICE_ENABLED: 'true' HORIZON: config/samples/horizon_v1beta1_horizon.yaml HORIZON_BRANCH: main HORIZON_COMMIT_HASH: '' HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml HORIZON_DEPL_IMG: unused HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git INFRA_BRANCH: main INFRA_COMMIT_HASH: '' INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests INFRA_KUTTL_NAMESPACE: infra-kuttl-tests INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git INSTALL_CERT_MANAGER: 'true' INSTALL_NMSTATE: true || false INSTALL_NNCP: true || false INTERNALAPI_HOST_ROUTES: '' IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 IPV6_LAB_LIBVIRT_STORAGE_POOL: default IPV6_LAB_MANAGE_FIREWALLD: 'true' IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' IPV6_LAB_NETWORK_NAME: nat64 IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 IPV6_LAB_SNO_HOST_PREFIX: '64' IPV6_LAB_SNO_INSTANCE_NAME: sno IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp IPV6_LAB_SNO_OCP_VERSION: latest-4.14 IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab IRONIC: config/samples/ironic_v1beta1_ironic.yaml IRONICAPI_DEPL_IMG: unused IRONICCON_DEPL_IMG: unused IRONICINS_DEPL_IMG: unused IRONICNAG_DEPL_IMG: unused IRONICPXE_DEPL_IMG: unused IRONIC_BRANCH: main IRONIC_COMMIT_HASH: '' IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml IRONIC_IMAGE_TAG: release-24.1 IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_DEPL_IMG: unused KEYSTONE_BRANCH: main KEYSTONE_COMMIT_HASH: '' KEYSTONE_FEDERATION_CLIENT_SECRET: CO**********6f KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests KEYSTONE_REPO: https://github.com/openstack-k8s-operators/keystone-operator.git KUBEADMIN_PWD: '12345678' LIBVIRT_SECRET: libvirt-secret LOKI_DEPLOY_MODE: openshift-network LOKI_DEPLOY_NAMESPACE: netobserv LOKI_DEPLOY_SIZE: 1x.demo LOKI_NAMESPACE: openshift-operators-redhat LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki LOKI_SUBSCRIPTION: loki-operator LVMS_CR: '1' MANILA: config/samples/manila_v1beta1_manila.yaml MANILAAPI_DEPL_IMG: unused MANILASCH_DEPL_IMG: unused MANILASHARE_DEPL_IMG: unused MANILA_BRANCH: main MANILA_COMMIT_HASH: '' MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests MANILA_KUTTL_NAMESPACE: manila-kuttl-tests MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git MANILA_SERVICE_ENABLED: 'true' MARIADB: config/samples/mariadb_v1beta1_galera.yaml MARIADB_BRANCH: main MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests MARIADB_COMMIT_HASH: '' MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml MARIADB_DEPL_IMG: unused MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_DEPL_IMG: unused METADATA_SHARED_SECRET: '12**********42' METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 METALLB_POOL: 192.168.122.80-192.168.122.90 MICROSHIFT: '0' NAMESPACE: openstack NETCONFIG: config/samples/network_v1beta1_netconfig.yaml NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml NETCONFIG_DEPL_IMG: unused NETOBSERV_DEPLOY_NAMESPACE: netobserv NETOBSERV_NAMESPACE: openshift-netobserv-operator NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net NETOBSERV_SUBSCRIPTION: netobserv-operator NETWORK_BGP: 'false' NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 NETWORK_ISOLATION: 'true' NETWORK_ISOLATION_INSTANCE_NAME: crc NETWORK_ISOLATION_IPV4: 'true' NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 NETWORK_ISOLATION_IPV4_NAT: 'true' NETWORK_ISOLATION_IPV6: 'false' NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' NETWORK_ISOLATION_NETWORK_NAME: net-iso NETWORK_ISOLATION_NET_NAME: default NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' NETWORK_MTU: '1500' NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 NETWORK_STORAGE_MACVLAN: '' NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 NETWORK_VLAN_START: '20' NETWORK_VLAN_STEP: '1' NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_DEPL_IMG: unused NEUTRON_BRANCH: main NEUTRON_COMMIT_HASH: '' NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git NFS_HOME: /home/nfs NMSTATE_NAMESPACE: openshift-nmstate NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator NNCP_ADDITIONAL_HOST_ROUTES: '' NNCP_BGP_1_INTERFACE: enp7s0 NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 NNCP_BGP_2_INTERFACE: enp8s0 NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 NNCP_BRIDGE: ospbr NNCP_CLEANUP_TIMEOUT: 120s NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' NNCP_DNS_SERVER: 192.168.122.1 NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 NNCP_GATEWAY: 192.168.122.1 NNCP_GATEWAY_IPV6: fd00:aaaa::1 NNCP_INTERFACE: enp6s0 NNCP_NODES: '' NNCP_TIMEOUT: 240s NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_BRANCH: main NOVA_COMMIT_HASH: '' NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git NUMBER_OF_INSTANCES: '1' OCP_NETWORK_NAME: crc OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_BRANCH: main OCTAVIA_COMMIT_HASH: '' OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git OKD: 'false' OPENSTACK_BRANCH: main OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest OPENSTACK_COMMIT_HASH: '' OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_CRDS_DIR: openstack_crds OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest OPENSTACK_K8S_BRANCH: main OPENSTACK_K8S_TAG: latest OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests OPENSTACK_NEUTRON_CUSTOM_CONF: '' OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator OPERATOR_CHANNEL: '' OPERATOR_NAMESPACE: openstack-operators OPERATOR_SOURCE: '' OPERATOR_SOURCE_NAMESPACE: '' OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_NMAP: 'true' OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml OVN_BRANCH: main OVN_COMMIT_HASH: '' OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests OVN_KUTTL_NAMESPACE: ovn-kuttl-tests OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git PASSWORD: '12**********78' PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_DEPL_IMG: unused PLACEMENT_BRANCH: main PLACEMENT_COMMIT_HASH: '' PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_BRANCH: patches RABBITMQ_COMMIT_HASH: '' RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_DEPL_IMG: unused RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git REDHAT_OPERATORS: 'false' REDIS: config/samples/redis_v1beta1_redis.yaml REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml REDIS_DEPL_IMG: unused RH_REGISTRY_PWD: '' RH_REGISTRY_USER: '' SECRET: os**********et SG_CORE_DEPL_IMG: unused STANDALONE_COMPUTE_DRIVER: libvirt STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 STANDALONE_STORAGE_NET_PREFIX: 172.18.0 STANDALONE_TENANT_NET_PREFIX: 172.19.0 STORAGEMGMT_HOST_ROUTES: '' STORAGE_CLASS: local-storage STORAGE_HOST_ROUTES: '' SWIFT: config/samples/swift_v1beta1_swift.yaml SWIFT_BRANCH: main SWIFT_COMMIT_HASH: '' SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_BRANCH: main TELEMETRY_COMMIT_HASH: '' TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: test/kuttl/suites TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git TENANT_HOST_ROUTES: '' TIMEOUT: 300s TLS_ENABLED: 'false' tripleo_deploy: 'export REGISTRY_USER:' cifmw_install_yamls_environment: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm cifmw_openshift_api: https://api.crc.testing:6443 cifmw_openshift_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_login_api: https://api.crc.testing:6443 cifmw_openshift_login_cert_login: false cifmw_openshift_login_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_login_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_login_password: 12**********89 cifmw_openshift_login_token: sh**********qM cifmw_openshift_login_user: kubeadmin cifmw_openshift_token: sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM cifmw_openshift_user: kubeadmin cifmw_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 cifmw_repo_setup_commit_hash: null cifmw_repo_setup_distro_hash: null cifmw_repo_setup_dlrn_api_url: https://trunk.rdoproject.org/api-centos9-antelope cifmw_repo_setup_dlrn_url: https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5 cifmw_repo_setup_extended_hash: null cifmw_repo_setup_full_hash: fa2bb8efef6782c26ea7f1675eeb36dd cifmw_repo_setup_release: antelope cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f date_time: date: '2025-12-03' day: '03' epoch: '1764769642' epoch_int: '1764769642' hour: '13' iso8601: '2025-12-03T13:47:22Z' iso8601_basic: 20251203T134722282483 iso8601_basic_short: 20251203T134722 iso8601_micro: '2025-12-03T13:47:22.282483Z' minute: '47' month: '12' second: '22' time: '13:47:22' tz: UTC tz_dst: UTC tz_offset: '+0000' weekday: Wednesday weekday_number: '3' weeknumber: '48' year: '2025' default_ipv4: address: 38.102.83.45 alias: eth0 broadcast: 38.102.83.255 gateway: 38.102.83.1 interface: eth0 macaddress: fa:16:3e:a2:9e:9c mtu: 1500 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' type: ether default_ipv6: {} device_links: ids: sr0: - ata-QEMU_DVD-ROM_QM00001 labels: sr0: - config-2 masters: {} uuids: sr0: - 2025-12-03-11-15-46-00 vda1: - fcf6b761-831a-48a7-9f5f-068b5063763f devices: sr0: holders: [] host: '' links: ids: - ata-QEMU_DVD-ROM_QM00001 labels: - config-2 masters: [] uuids: - 2025-12-03-11-15-46-00 model: QEMU DVD-ROM partitions: {} removable: '1' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: mq-deadline sectors: '964' sectorsize: '2048' size: 482.00 KB support_discard: '2048' vendor: QEMU virtual: 1 vda: holders: [] host: '' links: ids: [] labels: [] masters: [] uuids: [] model: null partitions: vda1: holders: [] links: ids: [] labels: [] masters: [] uuids: - fcf6b761-831a-48a7-9f5f-068b5063763f sectors: '83883999' sectorsize: 512 size: 40.00 GB start: '2048' uuid: fcf6b761-831a-48a7-9f5f-068b5063763f removable: '0' rotational: '1' sas_address: null sas_device_handle: null scheduler_mode: none sectors: '83886080' sectorsize: '512' size: 40.00 GB support_discard: '512' vendor: '0x1af4' virtual: 1 discovered_interpreter_python: /usr/bin/python3 distribution: CentOS distribution_file_parsed: true distribution_file_path: /etc/centos-release distribution_file_variety: CentOS distribution_major_version: '9' distribution_release: Stream distribution_version: '9' dns: nameservers: - 192.168.122.10 - 199.204.44.24 - 199.204.47.54 domain: '' effective_group_id: 1000 effective_user_id: 1000 env: BASH_FUNC_which%%: "() { ( alias;\n eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@\n}" DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus DEBUGINFOD_IMA_CERT_PATH: '/etc/keys/ima:' DEBUGINFOD_URLS: 'https://debuginfod.centos.org/ ' HOME: /home/zuul LANG: en_US.UTF-8 LESSOPEN: '||/usr/bin/lesspipe.sh %s' LOGNAME: zuul MOTD_SHOWN: pam PATH: /home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PWD: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl SELINUX_LEVEL_REQUESTED: '' SELINUX_ROLE_REQUESTED: '' SELINUX_USE_CURRENT_RANGE: '' SHELL: /bin/bash SHLVL: '2' SSH_CLIENT: 38.102.83.114 56214 22 SSH_CONNECTION: 38.102.83.114 56214 38.102.83.45 22 USER: zuul XDG_RUNTIME_DIR: /run/user/1000 XDG_SESSION_CLASS: user XDG_SESSION_ID: '10' XDG_SESSION_TYPE: tty _: /usr/bin/python3 which_declare: declare -f eth0: active: true device: eth0 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 38.102.83.45 broadcast: 38.102.83.255 netmask: 255.255.255.0 network: 38.102.83.0 prefix: '24' ipv6: - address: fe80::f816:3eff:fea2:9e9c prefix: '64' scope: link macaddress: fa:16:3e:a2:9e:9c module: virtio_net mtu: 1500 pciid: virtio1 promisc: false speed: -1 timestamping: [] type: ether eth1: active: true device: eth1 features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: off [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: 'on' rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: on [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: 'on' tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: off [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: off [fixed] tx_gso_partial: off [fixed] tx_gso_robust: on [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: 'off' tx_scatter_gather: 'on' tx_scatter_gather_fraglist: off [fixed] tx_sctp_segmentation: off [fixed] tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'off' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: off [fixed] tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: off [fixed] hw_timestamp_filters: [] ipv4: address: 192.168.122.11 broadcast: 192.168.122.255 netmask: 255.255.255.0 network: 192.168.122.0 prefix: '24' macaddress: fa:16:3e:a9:87:42 module: virtio_net mtu: 1500 pciid: virtio5 promisc: false speed: -1 timestamping: [] type: ether fibre_channel_wwn: [] fips: false form_factor: Other fqdn: controller gather_subset: - min hostname: controller hostnqn: nqn.2014-08.org.nvmexpress:uuid:bf3e0a14-a5f8-4123-aa26-e7cad37b879a interfaces: - lo - eth1 - eth0 is_chroot: false iscsi_iqn: '' kernel: 5.14.0-645.el9.x86_64 kernel_version: '#1 SMP PREEMPT_DYNAMIC Fri Nov 28 14:01:17 UTC 2025' lo: active: true device: lo features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: on [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: off [fixed] rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: off [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: on [fixed] tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: on [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: 'on' tx_gso_partial: off [fixed] tx_gso_robust: off [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: off [fixed] tx_scatter_gather: on [fixed] tx_scatter_gather_fraglist: on [fixed] tx_sctp_segmentation: 'on' tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'on' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: 'on' tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: on [fixed] hw_timestamp_filters: [] ipv4: address: 127.0.0.1 broadcast: '' netmask: 255.0.0.0 network: 127.0.0.0 prefix: '8' ipv6: - address: ::1 prefix: '128' scope: host mtu: 65536 promisc: false timestamping: [] type: loopback loadavg: 15m: 0.46 1m: 1.48 5m: 0.93 locally_reachable_ips: ipv4: - 38.102.83.45 - 127.0.0.0/8 - 127.0.0.1 - 192.168.122.11 ipv6: - ::1 - fe80::f816:3eff:fea2:9e9c lsb: {} lvm: N/A machine: x86_64 machine_id: 4d4ef2323cc3337bbfd9081b2a323b4e memfree_mb: 1390 memory_mb: nocache: free: 2869 used: 786 real: free: 1390 total: 3655 used: 2265 swap: cached: 0 free: 0 total: 0 used: 0 memtotal_mb: 3655 module_setup: true mounts: - block_available: 9596189 block_size: 4096 block_total: 10469115 block_used: 872926 device: /dev/vda1 fstype: xfs inode_available: 20821981 inode_total: 20970992 inode_used: 149011 mount: / options: rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota size_available: 39305990144 size_total: 42881495040 uuid: fcf6b761-831a-48a7-9f5f-068b5063763f nodename: controller os_family: RedHat pkg_mgr: dnf proc_cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f processor: - '0' - AuthenticAMD - AMD EPYC-Rome Processor - '1' - AuthenticAMD - AMD EPYC-Rome Processor processor_cores: 1 processor_count: 2 processor_nproc: 2 processor_threads_per_core: 1 processor_vcpus: 2 product_name: OpenStack Nova product_serial: NA product_uuid: NA product_version: 26.3.1 python: executable: /usr/bin/python3 has_sslcontext: true type: cpython version: major: 3 micro: 25 minor: 9 releaselevel: final serial: 0 version_info: - 3 - 9 - 25 - final - 0 python_version: 3.9.25 real_group_id: 1000 real_user_id: 1000 selinux: config_mode: enforcing mode: enforcing policyvers: 33 status: enabled type: targeted selinux_python_present: true service_mgr: systemd ssh_host_key_ecdsa_public: AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHiYU8oF2oiyc3hiTmugE5aA/BfvGeXVrN+KYsQ/JxJ+YANvsnhH0xJ9yDE0VFpBgt1Nk8JJNa7OlhGZrAAbeAs= ssh_host_key_ecdsa_public_keytype: ecdsa-sha2-nistp256 ssh_host_key_ed25519_public: AAAAC3NzaC1lZDI1NTE5AAAAIGHaxoJuy49IKcNtnx4AiISiNL4qJOKR3TiAtQuS8V/s ssh_host_key_ed25519_public_keytype: ssh-ed25519 ssh_host_key_rsa_public: AAAAB3NzaC1yc2EAAAADAQABAAABgQCS+IFsdLRh5+UEizNSA7HL/zmSJ2jfnf2m1OmCDCwYmSUHTFMwYMRwSte76SGWTgEl2dUmdBXVWI8Tzusblq+Na33Jrxkqs3ne4xCE2JiuDBjrHruayiyCek+6MdqHFtXP1eP2y/elZQRiPZeET6Du71bknS9N4vxJaN32QjKzXoz/tpeCVYseJKlSndjS02cX06O3fKPur7B810FfijB9V6quLdMT2sgZO1As2rgCTqcghfLkZmllqqyhYJitFehb6NDaRsRpHAhqpYA9dudLHRtFBOBwCaOHOOZDoUot4sPB9g2KzNzjTheB1x1QmNZsJVd40M8iZAhBcE8XsPLZxwOonDQe5CUOM36HgqgItC7zmRnNHDnoTLB4UEPO3FSBzHsJ+nt6WJEVOspyHh/Jz4t8Lk7VMcrZbUKSpGolkQNPuC63i6vjDyg1FieOXyfmmvQUZM5yYiITf/+mg6GObTwa5I3SlMGxKqmequeTLbamB/pl4f73BH4TXYa8bt8= ssh_host_key_rsa_public_keytype: ssh-rsa swapfree_mb: 0 swaptotal_mb: 0 system: Linux system_capabilities: - '' system_capabilities_enforced: 'True' system_vendor: OpenStack Foundation uptime_seconds: 783 user_dir: /home/zuul user_gecos: '' user_gid: 1000 user_id: zuul user_shell: /bin/bash user_uid: 1000 userspace_architecture: x86_64 userspace_bits: '64' virtualization_role: guest virtualization_tech_guest: - openstack virtualization_tech_host: - kvm virtualization_type: openstack ansible_fibre_channel_wwn: [] ansible_fips: false ansible_forks: 5 ansible_form_factor: Other ansible_fqdn: controller ansible_hostname: controller ansible_hostnqn: nqn.2014-08.org.nvmexpress:uuid:bf3e0a14-a5f8-4123-aa26-e7cad37b879a ansible_interfaces: - lo - eth1 - eth0 ansible_inventory_sources: - /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml ansible_is_chroot: false ansible_iscsi_iqn: '' ansible_kernel: 5.14.0-645.el9.x86_64 ansible_kernel_version: '#1 SMP PREEMPT_DYNAMIC Fri Nov 28 14:01:17 UTC 2025' ansible_lo: active: true device: lo features: esp_hw_offload: off [fixed] esp_tx_csum_hw_offload: off [fixed] generic_receive_offload: 'on' generic_segmentation_offload: 'on' highdma: on [fixed] hsr_dup_offload: off [fixed] hsr_fwd_offload: off [fixed] hsr_tag_ins_offload: off [fixed] hsr_tag_rm_offload: off [fixed] hw_tc_offload: off [fixed] l2_fwd_offload: off [fixed] large_receive_offload: off [fixed] loopback: on [fixed] macsec_hw_offload: off [fixed] ntuple_filters: off [fixed] receive_hashing: off [fixed] rx_all: off [fixed] rx_checksumming: on [fixed] rx_fcs: off [fixed] rx_gro_hw: off [fixed] rx_gro_list: 'off' rx_udp_gro_forwarding: 'off' rx_udp_tunnel_port_offload: off [fixed] rx_vlan_filter: off [fixed] rx_vlan_offload: off [fixed] rx_vlan_stag_filter: off [fixed] rx_vlan_stag_hw_parse: off [fixed] scatter_gather: 'on' tcp_segmentation_offload: 'on' tls_hw_record: off [fixed] tls_hw_rx_offload: off [fixed] tls_hw_tx_offload: off [fixed] tx_checksum_fcoe_crc: off [fixed] tx_checksum_ip_generic: on [fixed] tx_checksum_ipv4: off [fixed] tx_checksum_ipv6: off [fixed] tx_checksum_sctp: on [fixed] tx_checksumming: 'on' tx_esp_segmentation: off [fixed] tx_fcoe_segmentation: off [fixed] tx_gre_csum_segmentation: off [fixed] tx_gre_segmentation: off [fixed] tx_gso_list: 'on' tx_gso_partial: off [fixed] tx_gso_robust: off [fixed] tx_ipxip4_segmentation: off [fixed] tx_ipxip6_segmentation: off [fixed] tx_nocache_copy: off [fixed] tx_scatter_gather: on [fixed] tx_scatter_gather_fraglist: on [fixed] tx_sctp_segmentation: 'on' tx_tcp6_segmentation: 'on' tx_tcp_ecn_segmentation: 'on' tx_tcp_mangleid_segmentation: 'on' tx_tcp_segmentation: 'on' tx_tunnel_remcsum_segmentation: off [fixed] tx_udp_segmentation: 'on' tx_udp_tnl_csum_segmentation: off [fixed] tx_udp_tnl_segmentation: off [fixed] tx_vlan_offload: off [fixed] tx_vlan_stag_hw_insert: off [fixed] vlan_challenged: on [fixed] hw_timestamp_filters: [] ipv4: address: 127.0.0.1 broadcast: '' netmask: 255.0.0.0 network: 127.0.0.0 prefix: '8' ipv6: - address: ::1 prefix: '128' scope: host mtu: 65536 promisc: false timestamping: [] type: loopback ansible_loadavg: 15m: 0.46 1m: 1.48 5m: 0.93 ansible_local: {} ansible_locally_reachable_ips: ipv4: - 38.102.83.45 - 127.0.0.0/8 - 127.0.0.1 - 192.168.122.11 ipv6: - ::1 - fe80::f816:3eff:fea2:9e9c ansible_lsb: {} ansible_lvm: N/A ansible_machine: x86_64 ansible_machine_id: 4d4ef2323cc3337bbfd9081b2a323b4e ansible_memfree_mb: 1390 ansible_memory_mb: nocache: free: 2869 used: 786 real: free: 1390 total: 3655 used: 2265 swap: cached: 0 free: 0 total: 0 used: 0 ansible_memtotal_mb: 3655 ansible_mounts: - block_available: 9596189 block_size: 4096 block_total: 10469115 block_used: 872926 device: /dev/vda1 fstype: xfs inode_available: 20821981 inode_total: 20970992 inode_used: 149011 mount: / options: rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota size_available: 39305990144 size_total: 42881495040 uuid: fcf6b761-831a-48a7-9f5f-068b5063763f ansible_nodename: controller ansible_os_family: RedHat ansible_pkg_mgr: dnf ansible_playbook_python: /usr/bin/python3 ansible_proc_cmdline: BOOT_IMAGE: (hd0,msdos1)/boot/vmlinuz-5.14.0-645.el9.x86_64 console: ttyS0,115200n8 crashkernel: 1G-2G:192M,2G-64G:256M,64G-:512M net.ifnames: '0' no_timer_check: true ro: true root: UUID=fcf6b761-831a-48a7-9f5f-068b5063763f ansible_processor: - '0' - AuthenticAMD - AMD EPYC-Rome Processor - '1' - AuthenticAMD - AMD EPYC-Rome Processor ansible_processor_cores: 1 ansible_processor_count: 2 ansible_processor_nproc: 2 ansible_processor_threads_per_core: 1 ansible_processor_vcpus: 2 ansible_product_name: OpenStack Nova ansible_product_serial: NA ansible_product_uuid: NA ansible_product_version: 26.3.1 ansible_python: executable: /usr/bin/python3 has_sslcontext: true type: cpython version: major: 3 micro: 25 minor: 9 releaselevel: final serial: 0 version_info: - 3 - 9 - 25 - final - 0 ansible_python_version: 3.9.25 ansible_real_group_id: 1000 ansible_real_user_id: 1000 ansible_run_tags: - all ansible_selinux: config_mode: enforcing mode: enforcing policyvers: 33 status: enabled type: targeted ansible_selinux_python_present: true ansible_service_mgr: systemd ansible_skip_tags: [] ansible_ssh_host_key_ecdsa_public: AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHiYU8oF2oiyc3hiTmugE5aA/BfvGeXVrN+KYsQ/JxJ+YANvsnhH0xJ9yDE0VFpBgt1Nk8JJNa7OlhGZrAAbeAs= ansible_ssh_host_key_ecdsa_public_keytype: ecdsa-sha2-nistp256 ansible_ssh_host_key_ed25519_public: AAAAC3NzaC1lZDI1NTE5AAAAIGHaxoJuy49IKcNtnx4AiISiNL4qJOKR3TiAtQuS8V/s ansible_ssh_host_key_ed25519_public_keytype: ssh-ed25519 ansible_ssh_host_key_rsa_public: AAAAB3NzaC1yc2EAAAADAQABAAABgQCS+IFsdLRh5+UEizNSA7HL/zmSJ2jfnf2m1OmCDCwYmSUHTFMwYMRwSte76SGWTgEl2dUmdBXVWI8Tzusblq+Na33Jrxkqs3ne4xCE2JiuDBjrHruayiyCek+6MdqHFtXP1eP2y/elZQRiPZeET6Du71bknS9N4vxJaN32QjKzXoz/tpeCVYseJKlSndjS02cX06O3fKPur7B810FfijB9V6quLdMT2sgZO1As2rgCTqcghfLkZmllqqyhYJitFehb6NDaRsRpHAhqpYA9dudLHRtFBOBwCaOHOOZDoUot4sPB9g2KzNzjTheB1x1QmNZsJVd40M8iZAhBcE8XsPLZxwOonDQe5CUOM36HgqgItC7zmRnNHDnoTLB4UEPO3FSBzHsJ+nt6WJEVOspyHh/Jz4t8Lk7VMcrZbUKSpGolkQNPuC63i6vjDyg1FieOXyfmmvQUZM5yYiITf/+mg6GObTwa5I3SlMGxKqmequeTLbamB/pl4f73BH4TXYa8bt8= ansible_ssh_host_key_rsa_public_keytype: ssh-rsa ansible_swapfree_mb: 0 ansible_swaptotal_mb: 0 ansible_system: Linux ansible_system_capabilities: - '' ansible_system_capabilities_enforced: 'True' ansible_system_vendor: OpenStack Foundation ansible_uptime_seconds: 783 ansible_user_dir: /home/zuul ansible_user_gecos: '' ansible_user_gid: 1000 ansible_user_id: zuul ansible_user_shell: /bin/bash ansible_user_uid: 1000 ansible_userspace_architecture: x86_64 ansible_userspace_bits: '64' ansible_verbosity: 0 ansible_version: full: 2.15.13 major: 2 minor: 15 revision: 13 string: 2.15.13 ansible_virtualization_role: guest ansible_virtualization_tech_guest: - openstack ansible_virtualization_tech_host: - kvm ansible_virtualization_type: openstack ca_bundle: changed: false false_condition: cifmw_install_ca_bundle_src != '' skip_reason: Conditional result was False skipped: true ca_inline: changed: false false_condition: cifmw_install_ca_bundle_inline != '' skip_reason: Conditional result was False skipped: true ci_framework_params: cifmw_architecture_repo: /home/zuul/src/github.com/openstack-k8s-operators/architecture cifmw_architecture_repo_relative: src/github.com/openstack-k8s-operators/architecture cifmw_artifacts_basedir: /home/zuul/ci-framework-data cifmw_artifacts_crc_sshkey: ~/.ssh/id_cifw cifmw_basedir: /home/zuul/ci-framework-data cifmw_dlrn_report_result: false cifmw_extras: - '@scenarios/centos-9/kuttl_multinode.yml' cifmw_installyamls_repos: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls cifmw_installyamls_repos_relative: src/github.com/openstack-k8s-operators/install_yamls cifmw_kuttl_tests_env_vars: PV_NUM: 20 cifmw_kuttl_tests_operator_list: - openstack - barbican - keystone - horizon cifmw_make_ceph_environment: CEPH_TIMEOUT: 120 cifmw_openshift_api: api.crc.testing:6443 cifmw_openshift_password: '12**********89' cifmw_openshift_setup_skip_internal_registry: true cifmw_openshift_skip_tls_verify: true cifmw_openshift_user: kubeadmin cifmw_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 cifmw_project_dir: src/github.com/openstack-k8s-operators/ci-framework cifmw_project_dir_absolute: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework cifmw_repo_setup_dist_major_version: 9 cifmw_repo_setup_os_release: centos cifmw_run_tests: true cifmw_use_libvirt: false cifmw_zuul_target_host: controller post_ctlplane_deploy: - name: Tune rabbitmq resources source: rabbitmq_tuning.yml type: playbook pre_deploy: - name: Deploy toy ceph source: ceph-deploy.yml type: playbook pre_infra: - connection: local inventory: localhost, name: Download needed tools source: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/download_tools.yaml type: playbook pre_kuttl: - inventory: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml name: Fetch crc facts and save them as parameters for kuttl jobs source: kuttl_openstack_prep.yml type: playbook cifmw_architecture_repo: /home/zuul/src/github.com/openstack-k8s-operators/architecture cifmw_architecture_repo_relative: src/github.com/openstack-k8s-operators/architecture cifmw_artifacts_basedir: /home/zuul/ci-framework-data cifmw_artifacts_crc_sshkey: ~/.ssh/id_cifw cifmw_basedir: /home/zuul/ci-framework-data cifmw_ci_local_storage_k8s_hostnames: - crc cifmw_ci_local_storage_k8s_hosts: - crc cifmw_ci_local_storage_k8s_nodes_out: api_found: true changed: false failed: false resources: - apiVersion: v1 kind: Node metadata: annotations: csi.volume.kubernetes.io/nodeid: '{"kubevirt.io.hostpath-provisioner":"crc"}' k8s.ovn.org/host-cidrs: '["172.17.0.5/24","172.18.0.5/24","172.19.0.5/24","172.20.0.5/24","172.28.0.5/24","172.50.0.5/24","192.168.122.10/24","192.168.126.11/24","38.129.56.252/24"]' k8s.ovn.org/l3-gateway-config: '{"default":{"mode":"local","bridge-id":"br-ex","interface-id":"br-ex_crc","mac-address":"fa:16:3e:a8:bd:2a","ip-addresses":["38.129.56.252/24"],"ip-address":"38.129.56.252/24","next-hops":["38.129.56.1"],"next-hop":"38.129.56.1","node-port-enable":"true","vlan-id":"0"}}' k8s.ovn.org/network-ids: '{"default":"0"}' k8s.ovn.org/node-chassis-id: c7c5727b-e3b4-4f7f-adb6-e8d5767a1f42 k8s.ovn.org/node-gateway-router-lrp-ifaddrs: '{"default":{"ipv4":"100.64.0.2/16"}}' k8s.ovn.org/node-id: '2' k8s.ovn.org/node-masquerade-subnet: '{"ipv4":"169.254.0.0/17","ipv6":"fd69::/112"}' k8s.ovn.org/node-primary-ifaddr: '{"ipv4":"38.129.56.252/24"}' k8s.ovn.org/node-subnets: '{"default":["10.217.0.0/23"]}' k8s.ovn.org/node-transit-switch-port-ifaddr: '{"ipv4":"100.88.0.2/16"}' k8s.ovn.org/remote-zone-migrated: crc k8s.ovn.org/zone-name: crc machineconfiguration.openshift.io/controlPlaneTopology: SingleReplica machineconfiguration.openshift.io/currentConfig: rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/desiredConfig: rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/desiredDrain: uncordon-rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/lastAppliedDrain: uncordon-rendered-master-f83a149c7490c3b0bf850df839837383 machineconfiguration.openshift.io/lastObservedServerCAAnnotation: 'false' machineconfiguration.openshift.io/lastSyncedControllerConfigResourceVersion: '203295' machineconfiguration.openshift.io/post-config-action: '' machineconfiguration.openshift.io/reason: 'unexpected on-disk state validating against rendered-master-f83a149c7490c3b0bf850df839837383: content mismatch for file "/var/lib/kubelet/config.json"' machineconfiguration.openshift.io/state: Degraded volumes.kubernetes.io/controller-managed-attach-detach: 'true' creationTimestamp: '2025-02-23T05:20:37Z' labels: beta.kubernetes.io/arch: amd64 beta.kubernetes.io/os: linux kubernetes.io/arch: amd64 kubernetes.io/hostname: crc kubernetes.io/os: linux node-role.kubernetes.io/control-plane: '' node-role.kubernetes.io/master: '' node-role.kubernetes.io/worker: '' node.openshift.io/os_id: rhcos topology.hostpath.csi/node: crc managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:volumes.kubernetes.io/controller-managed-attach-detach: {} f:labels: .: {} f:beta.kubernetes.io/arch: {} f:beta.kubernetes.io/os: {} f:kubernetes.io/arch: {} f:kubernetes.io/hostname: {} f:kubernetes.io/os: {} f:node-role.kubernetes.io/control-plane: {} f:node-role.kubernetes.io/master: {} f:node.openshift.io/os_id: {} manager: kubelet operation: Update time: '2025-02-23T05:20:37Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:machineconfiguration.openshift.io/controlPlaneTopology: {} f:machineconfiguration.openshift.io/desiredConfig: {} f:machineconfiguration.openshift.io/lastAppliedDrain: {} f:labels: f:node-role.kubernetes.io/worker: {} f:spec: f:taints: {} manager: machine-config-controller operation: Update time: '2025-12-03T11:24:46Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/host-cidrs: {} f:k8s.ovn.org/l3-gateway-config: {} f:k8s.ovn.org/network-ids: {} f:k8s.ovn.org/node-chassis-id: {} f:k8s.ovn.org/node-gateway-router-lrp-ifaddrs: {} f:k8s.ovn.org/node-id: {} f:k8s.ovn.org/node-masquerade-subnet: {} f:k8s.ovn.org/node-primary-ifaddr: {} f:k8s.ovn.org/node-subnets: {} f:k8s.ovn.org/node-transit-switch-port-ifaddr: {} f:k8s.ovn.org/remote-zone-migrated: {} f:k8s.ovn.org/zone-name: {} manager: crc operation: Update subresource: status time: '2025-12-03T11:33:38Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:machineconfiguration.openshift.io/currentConfig: {} f:machineconfiguration.openshift.io/desiredDrain: {} f:machineconfiguration.openshift.io/lastObservedServerCAAnnotation: {} f:machineconfiguration.openshift.io/lastSyncedControllerConfigResourceVersion: {} f:machineconfiguration.openshift.io/post-config-action: {} f:machineconfiguration.openshift.io/reason: {} f:machineconfiguration.openshift.io/state: {} manager: machine-config-daemon operation: Update time: '2025-12-03T13:35:13Z' - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:csi.volume.kubernetes.io/nodeid: {} f:labels: f:topology.hostpath.csi/node: {} f:status: f:allocatable: f:cpu: {} f:ephemeral-storage: {} f:memory: {} f:capacity: f:cpu: {} f:ephemeral-storage: {} f:memory: {} f:conditions: k:{"type":"DiskPressure"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} k:{"type":"MemoryPressure"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} k:{"type":"PIDPressure"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} k:{"type":"Ready"}: f:lastHeartbeatTime: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:images: {} f:nodeInfo: f:bootID: {} f:systemUUID: {} f:runtimeHandlers: {} manager: kubelet operation: Update subresource: status time: '2025-12-03T13:35:25Z' name: crc resourceVersion: '203343' uid: 22237e5b-d4ef-4173-8781-076e97d1bac1 spec: taints: - effect: PreferNoSchedule key: UpdateInProgress status: addresses: - address: 192.168.126.11 type: InternalIP - address: crc type: Hostname allocatable: cpu: 11800m ephemeral-storage: '76396645454' hugepages-1Gi: '0' hugepages-2Mi: '0' memory: 32404560Ki pods: '250' capacity: cpu: '12' ephemeral-storage: 83293888Ki hugepages-1Gi: '0' hugepages-2Mi: '0' memory: 32865360Ki pods: '250' conditions: - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:37Z' message: kubelet has sufficient memory available reason: KubeletHasSufficientMemory status: 'False' type: MemoryPressure - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:37Z' message: kubelet has no disk pressure reason: KubeletHasNoDiskPressure status: 'False' type: DiskPressure - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:37Z' message: kubelet has sufficient PID available reason: KubeletHasSufficientPID status: 'False' type: PIDPressure - lastHeartbeatTime: '2025-12-03T13:35:25Z' lastTransitionTime: '2025-12-03T11:20:45Z' message: kubelet is posting ready status reason: KubeletReady status: 'True' type: Ready daemonEndpoints: kubeletEndpoint: Port: 10250 images: - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b9ea248f8ca33258fe1683da51d2b16b94630be1b361c65f68a16c1a34b94887 sizeBytes: 2887430265 - names: - registry.redhat.io/redhat/redhat-operator-index@sha256:416a7dc57b2b95775e679e0ab93111baaa063e55a4c6d73856a248d85a2debbd - registry.redhat.io/redhat/redhat-operator-index@sha256:5cdd97eed164a2eda9842fb91d284f06d2e63d69af9a98001fca2d6cebd0b52a - registry.redhat.io/redhat/redhat-operator-index:v4.18 sizeBytes: 1609873225 - names: - registry.redhat.io/redhat/redhat-operator-index@sha256:4a62fa1c0091f6d94e8fb7258470b9a532d78364b6b51a05341592041d598562 sizeBytes: 1523204510 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:174f36cdd47ef0d1d2099482919d773257453265a2af0b17b154edc32fa41ac2 sizeBytes: 1498102846 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:7eeaee65f2808b819eedb413bdcabb9144e12f0dd97f13fd1afba93a95b67b26 sizeBytes: 1232839934 - names: - registry.redhat.io/redhat/certified-operator-index@sha256:446e5d504e70c7963ef7b0f090f3fcb19847ef48150299bf030847565d7a579b - registry.redhat.io/redhat/certified-operator-index@sha256:a01ee07f4838bab6cfa5a3d25d867557aa271725bfcd20a1e52d3cc63423c06b - registry.redhat.io/redhat/certified-operator-index:v4.18 sizeBytes: 1204969293 - names: - registry.redhat.io/redhat/certified-operator-index@sha256:2041f196d215ed63fc3218d5a0e0cb8409dd5b575612d999cffc9817ca7ee2c4 sizeBytes: 1204906320 - names: - registry.redhat.io/redhat/community-operator-index@sha256:dba4a8e0293f7b6e1459b74484a7126274bdc9efa75f808eb15e5a3896a3c818 - registry.redhat.io/redhat/community-operator-index@sha256:eee64597300e249e4bead6abda4d235cc4fc3a87be82e3e9f582609602ed87d7 - registry.redhat.io/redhat/community-operator-index:v4.18 sizeBytes: 1201319250 - names: - quay.io/podified-antelope-centos9/openstack-cinder-api@sha256:7a2056615520e272bae43ec3f34e2ba7a92c1d364b8d9106b53bd694619fc9c2 sizeBytes: 1159459107 - names: - registry.redhat.io/redhat/community-operator-index@sha256:8ff55cdb2367f5011074d2f5ebdc153b8885e7495e14ae00f99d2b7ab3584ade sizeBytes: 1151049424 - names: - registry.redhat.io/redhat/redhat-marketplace-index@sha256:e8990432556acad31519b1a73ec32f32d27c2034cf9e5cc4db8980efc7331594 - registry.redhat.io/redhat/redhat-marketplace-index@sha256:ebe9f523f5c211a3a0f2570331dddcd5be15b12c1fecd9b8b121f881bfaad029 - registry.redhat.io/redhat/redhat-marketplace-index:v4.18 sizeBytes: 1129027903 - names: - quay.io/podified-antelope-centos9/openstack-cinder-scheduler@sha256:e26fb8ad7808ca8efe268881f9229df90a755b24bd4ad5501ba3b8c5c16987a3 sizeBytes: 1081290394 - names: - registry.redhat.io/redhat/certified-operator-index@sha256:7688bce5eb0d153adff87fc9f7a47642465c0b88208efb236880197969931b37 sizeBytes: 1032059094 - names: - registry.redhat.io/redhat/redhat-marketplace-index@sha256:1dc15c170ebf462dacaef75511740ed94ca1da210f3980f66d77f91ba201c875 sizeBytes: 1001152198 - names: - quay.io/podified-antelope-centos9/openstack-glance-api@sha256:481073ac9deefb38bbd989aaa8dd7aedb4e0af26017f4883f85fce433380bf63 sizeBytes: 981252461 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c915fb8ba96e911699a1ae34a8e95ca8a9fbe1bf8c28fea177225c63a8bdfc0a sizeBytes: 964552795 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:06bc35825771aee1220d34720243b89c4ba8a8b335e6de2597126bd791fd90d4 sizeBytes: 947616130 - names: - quay.io/openstack-k8s-operators/infra-operator-index@sha256:0004f2ceba83275864e41537be172b0cabc7086ba435bebef08524b56e4b4697 - quay.io/openstack-k8s-operators/infra-operator-index:latest sizeBytes: 913315670 - names: - quay.io/openstack-k8s-operators/openstack-operator-index@sha256:186b716dfe2a9ffb006a27c9f5a35f4526dbbc3da092ac4ce64693d01d25754d - quay.io/openstack-k8s-operators/openstack-operator-index:latest sizeBytes: 913061644 - names: - quay.io/openstack-k8s-operators/barbican-operator-index@sha256:7d276ebac2ec3803ac49ab80c34526269020760d775d15a0e172e989c98d5e02 - quay.io/openstack-k8s-operators/barbican-operator-index:latest sizeBytes: 912991062 - names: - quay.io/openstack-k8s-operators/keystone-operator-index@sha256:8b89d83b5a934ede321ecc36f0cb4140a4b2c79a265a8bd4c927d89dd0f0f065 - quay.io/openstack-k8s-operators/keystone-operator-index:latest sizeBytes: 912945929 - names: - quay.io/openstack-k8s-operators/mariadb-operator-index@sha256:f4ca2ad4c858a1b62c1f039a8a66502e00e2ca284f629def4da0329822b0130e - quay.io/openstack-k8s-operators/mariadb-operator-index:latest sizeBytes: 912846090 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c3cc3840d7a81ce1b420f06e07a923861faf37d9c10688aa3aa0b7b76c8706ad sizeBytes: 907837715 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:101f295e2eae0755ae1865f7de885db1f17b9368e4120a713bb5f79e17ce8f93 sizeBytes: 854694423 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:47b0670fa1051335fd2d2c9e8361e4ed77c7760c33a2180b136f7c7f59863ec2 sizeBytes: 852490370 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:862f4a4bed52f372056b6d368e2498ebfb063075b31cf48dbdaaeedfcf0396cb sizeBytes: 772592048 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:98100674616e54319f6713d742fd0c3bdbc84e6e6173e8ccf4a2473a714c2bc4 sizeBytes: 705793115 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:687fddfbb085a1688df312ce4ec8c857df9b2daed8ff4a7ed6163a1154afa2cc sizeBytes: 687915987 - names: - quay.io/podified-antelope-centos9/openstack-nova-api@sha256:255cc3471ee112b17da164148b0ec25678332061b5b488868b81a30e5afb5bb5 sizeBytes: 682958050 - names: - quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:42f5663a161307156673f86e5eaad59f842a4bf25824f48008e69ab18e4ba792 - quay.io/podified-antelope-centos9/openstack-neutron-server:current-podified sizeBytes: 677563216 - names: - quay.io/podified-master-centos9/openstack-watcher-api@sha256:75f08e61323e7039d3cf5cdf81ac5d416caa4f7a0de7ce33992cfa2686f5080e sizeBytes: 675886117 - names: - quay.io/podified-antelope-centos9/openstack-nova-novncproxy@sha256:eaf80338dc065eb9c8c1f40552793c7cc2ff052c88c789f0a5d3e34099549adb sizeBytes: 668488686 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f247257b0885cf5d303e3612c7714b33ae51404cfa2429822060c6c025eb17dd sizeBytes: 668060419 - names: - quay.io/podified-antelope-centos9/openstack-nova-conductor@sha256:a96d336d231eee461559cfe82b025874ce2b8652520297bc5143559694ebac58 sizeBytes: 666124263 - names: - quay.io/podified-antelope-centos9/openstack-nova-scheduler@sha256:98a3cff4a3aae37148c4c982a0e37f21a476528cbd74734f59ae22f61fdb6fc1 sizeBytes: 666124262 - names: - quay.io/podified-master-centos9/openstack-watcher-decision-engine@sha256:9cd4672934a363f68134e85a0da40b90b1c8585867545cc5dd245ba6b3a61a7e sizeBytes: 659779888 - names: - quay.io/podified-master-centos9/openstack-watcher-applier@sha256:fad9bafc729790adb59fd4cae877fb677c99e0b623b379881ebaeeba3d7639de sizeBytes: 659779879 - names: - registry.redhat.io/openshift4/frr-rhel9@sha256:11d83fb97d5191861531c5463f84d0852f4383c00e851c32378f35ec3b242f94 - registry.redhat.io/openshift4/frr-rhel9@sha256:e5c5e7ca4ed54c9edba5dfa1d504bbe58016c2abdc872ebb8b26a628958e5a2a sizeBytes: 656503086 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e1baa38811c04bd8909e01a1f3be7421a1cb99d608d3dc4cf86d95b17de2ab8b sizeBytes: 613826183 - names: - quay.io/podified-antelope-centos9/openstack-openstackclient@sha256:c1b8da8298ec8be0ca22c7d8ba48da103e72dfe7ed5e9427b971d31eac3a8b33 - quay.io/podified-antelope-centos9/openstack-openstackclient:current-podified sizeBytes: 592736619 - names: - registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:17ea20be390a94ab39f5cdd7f0cbc2498046eebcf77fe3dec9aa288d5c2cf46b - registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:516395689f6666cc3fee43a553a8a6a87690109e71ab3e5fffb3d2cd5716988c sizeBytes: 589389122 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:7e3e9dc0b02b9351edf7c46b1d46d724abd1ac38ecbd6bc541cee84a209258d8 sizeBytes: 581863411 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:35512335ac39aed0f55b7f799f416f4f6445c20c1b19888cf2bb72bb276703f2 sizeBytes: 574606365 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:ee8d8f089ec1488067444c7e276c4e47cc93840280f3b3295484d67af2232002 sizeBytes: 550676059 - names: - registry.redhat.io/openshift4/metallb-rhel9@sha256:5bb9588daa84445e79da8dec0a5e5508940a72217c41e15c568084a07829e355 - registry.redhat.io/openshift4/metallb-rhel9@sha256:afa5a50746f3d69cef22c41c612ce3e7fe91e1da1d1d1566dee42ee304132379 sizeBytes: 549581950 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:10f20a39f16ae3019c62261eda8beb9e4d8c36cbb7b500b3bae1312987f0685d sizeBytes: 541458174 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:e40792096b162f0f9ce5f8362f51e5f8dea2c1ce4b1447235388416b5db7708c sizeBytes: 533092226 - names: - quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:07b7c6877441ecd6a5646fb68e33e9be8b90092272e49117b54b4a67314731ca sizeBytes: 528023732 - names: - quay.io/podified-antelope-centos9/openstack-barbican-api@sha256:82006b9c64d4c5f80483cda262d960ce6be4813665158ef1a53ea7734bbe431f - quay.io/podified-antelope-centos9/openstack-barbican-api:current-podified sizeBytes: 524309930 - names: - quay.io/podified-antelope-centos9/openstack-keystone@sha256:a7b6fa2f16a882674624b48939737e2bd95da7bef60db593a8e6e4d397fa516c - quay.io/podified-antelope-centos9/openstack-keystone:current-podified sizeBytes: 518758919 nodeInfo: architecture: amd64 bootID: d2f3768d-f4ec-4a3e-a78b-995e22cb0cfd containerRuntimeVersion: cri-o://1.31.5-4.rhaos4.18.gitdad78d5.el9 kernelVersion: 5.14.0-427.50.2.el9_4.x86_64 kubeProxyVersion: v1.31.5 kubeletVersion: v1.31.5 machineID: 21801e6708c44f15b81395eb736a7cec operatingSystem: linux osImage: Red Hat Enterprise Linux CoreOS 418.94.202502100215-0 systemUUID: ad4477df-a9a6-40d9-b422-36e1612ca334 runtimeHandlers: - features: recursiveReadOnlyMounts: true userNamespaces: true name: crun - features: recursiveReadOnlyMounts: true userNamespaces: true name: '' - features: recursiveReadOnlyMounts: true userNamespaces: false name: runc cifmw_ci_setup_packages: - bash-completion - ca-certificates - git-core - make - tar - tmux - python3-pip cifmw_ci_setup_rhel_rhsm_default_repos: - rhel-*-baseos-rpms - rhel-*-appstream-rpms - codeready-builder-*-x86_64-rpms cifmw_cls_pvs: - local-storage01-crc - local-storage02-crc - local-storage03-crc - local-storage04-crc - local-storage05-crc - local-storage06-crc - local-storage07-crc - local-storage08-crc - local-storage09-crc - local-storage10-crc - local-storage11-crc - local-storage12-crc cifmw_discovered_hash: 75a77d833a2ec47d10d7dfd7dba41dfe3c1be7e7e14ae5ab42563f9fb0e5e2d8 cifmw_discovered_hash_algorithm: sha256 cifmw_discovered_image_name: CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_discovered_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images//CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 cifmw_dlrn_report_result: false cifmw_extras: - '@scenarios/centos-9/kuttl_multinode.yml' cifmw_generate_makes: changed: false debug: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/Makefile: - all - help - cleanup - deploy_cleanup - wait - crc_storage - crc_storage_cleanup - crc_storage_release - crc_storage_with_retries - crc_storage_cleanup_with_retries - operator_namespace - namespace - namespace_cleanup - input - input_cleanup - crc_bmo_setup - crc_bmo_cleanup - openstack_prep - openstack - openstack_wait - openstack_init - openstack_cleanup - openstack_repo - openstack_deploy_prep - openstack_deploy - openstack_wait_deploy - openstack_deploy_cleanup - openstack_update_run - update_services - update_system - openstack_patch_version - edpm_deploy_generate_keys - edpm_patch_ansible_runner_image - edpm_deploy_prep - edpm_deploy_cleanup - edpm_deploy - edpm_deploy_baremetal_prep - edpm_deploy_baremetal - edpm_wait_deploy_baremetal - edpm_wait_deploy - edpm_register_dns - edpm_nova_discover_hosts - openstack_crds - openstack_crds_cleanup - edpm_deploy_networker_prep - edpm_deploy_networker_cleanup - edpm_deploy_networker - infra_prep - infra - infra_cleanup - dns_deploy_prep - dns_deploy - dns_deploy_cleanup - netconfig_deploy_prep - netconfig_deploy - netconfig_deploy_cleanup - memcached_deploy_prep - memcached_deploy - memcached_deploy_cleanup - keystone_prep - keystone - keystone_cleanup - keystone_deploy_prep - keystone_deploy - keystone_deploy_cleanup - barbican_prep - barbican - barbican_cleanup - barbican_deploy_prep - barbican_deploy - barbican_deploy_validate - barbican_deploy_cleanup - mariadb - mariadb_cleanup - mariadb_deploy_prep - mariadb_deploy - mariadb_deploy_cleanup - placement_prep - placement - placement_cleanup - placement_deploy_prep - placement_deploy - placement_deploy_cleanup - glance_prep - glance - glance_cleanup - glance_deploy_prep - glance_deploy - glance_deploy_cleanup - ovn_prep - ovn - ovn_cleanup - ovn_deploy_prep - ovn_deploy - ovn_deploy_cleanup - neutron_prep - neutron - neutron_cleanup - neutron_deploy_prep - neutron_deploy - neutron_deploy_cleanup - cinder_prep - cinder - cinder_cleanup - cinder_deploy_prep - cinder_deploy - cinder_deploy_cleanup - rabbitmq_prep - rabbitmq - rabbitmq_cleanup - rabbitmq_deploy_prep - rabbitmq_deploy - rabbitmq_deploy_cleanup - ironic_prep - ironic - ironic_cleanup - ironic_deploy_prep - ironic_deploy - ironic_deploy_cleanup - octavia_prep - octavia - octavia_cleanup - octavia_deploy_prep - octavia_deploy - octavia_deploy_cleanup - designate_prep - designate - designate_cleanup - designate_deploy_prep - designate_deploy - designate_deploy_cleanup - nova_prep - nova - nova_cleanup - nova_deploy_prep - nova_deploy - nova_deploy_cleanup - mariadb_kuttl_run - mariadb_kuttl - kuttl_db_prep - kuttl_db_cleanup - kuttl_common_prep - kuttl_common_cleanup - keystone_kuttl_run - keystone_kuttl - barbican_kuttl_run - barbican_kuttl - placement_kuttl_run - placement_kuttl - cinder_kuttl_run - cinder_kuttl - neutron_kuttl_run - neutron_kuttl - octavia_kuttl_run - octavia_kuttl - designate_kuttl - designate_kuttl_run - ovn_kuttl_run - ovn_kuttl - infra_kuttl_run - infra_kuttl - ironic_kuttl_run - ironic_kuttl - ironic_kuttl_crc - heat_kuttl_run - heat_kuttl - heat_kuttl_crc - ansibleee_kuttl_run - ansibleee_kuttl_cleanup - ansibleee_kuttl_prep - ansibleee_kuttl - glance_kuttl_run - glance_kuttl - manila_kuttl_run - manila_kuttl - swift_kuttl_run - swift_kuttl - horizon_kuttl_run - horizon_kuttl - openstack_kuttl_run - openstack_kuttl - mariadb_chainsaw_run - mariadb_chainsaw - horizon_prep - horizon - horizon_cleanup - horizon_deploy_prep - horizon_deploy - horizon_deploy_cleanup - heat_prep - heat - heat_cleanup - heat_deploy_prep - heat_deploy - heat_deploy_cleanup - ansibleee_prep - ansibleee - ansibleee_cleanup - baremetal_prep - baremetal - baremetal_cleanup - ceph_help - ceph - ceph_cleanup - rook_prep - rook - rook_deploy_prep - rook_deploy - rook_crc_disk - rook_cleanup - lvms - nmstate - nncp - nncp_cleanup - netattach - netattach_cleanup - metallb - metallb_config - metallb_config_cleanup - metallb_cleanup - loki - loki_cleanup - loki_deploy - loki_deploy_cleanup - netobserv - netobserv_cleanup - netobserv_deploy - netobserv_deploy_cleanup - manila_prep - manila - manila_cleanup - manila_deploy_prep - manila_deploy - manila_deploy_cleanup - telemetry_prep - telemetry - telemetry_cleanup - telemetry_deploy_prep - telemetry_deploy - telemetry_deploy_cleanup - telemetry_kuttl_run - telemetry_kuttl - swift_prep - swift - swift_cleanup - swift_deploy_prep - swift_deploy - swift_deploy_cleanup - certmanager - certmanager_cleanup - validate_marketplace - redis_deploy_prep - redis_deploy - redis_deploy_cleanup - set_slower_etcd_profile /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/Makefile: - help - download_tools - nfs - nfs_cleanup - crc - crc_cleanup - crc_scrub - crc_attach_default_interface - crc_attach_default_interface_cleanup - ipv6_lab_network - ipv6_lab_network_cleanup - ipv6_lab_nat64_router - ipv6_lab_nat64_router_cleanup - ipv6_lab_sno - ipv6_lab_sno_cleanup - ipv6_lab - ipv6_lab_cleanup - attach_default_interface - attach_default_interface_cleanup - network_isolation_bridge - network_isolation_bridge_cleanup - edpm_baremetal_compute - edpm_compute - edpm_compute_bootc - edpm_ansible_runner - edpm_computes_bgp - edpm_compute_repos - edpm_compute_cleanup - edpm_networker - edpm_networker_cleanup - edpm_deploy_instance - tripleo_deploy - standalone_deploy - standalone_sync - standalone - standalone_cleanup - standalone_snapshot - standalone_revert - cifmw_prepare - cifmw_cleanup - bmaas_network - bmaas_network_cleanup - bmaas_route_crc_and_crc_bmaas_networks - bmaas_route_crc_and_crc_bmaas_networks_cleanup - bmaas_crc_attach_network - bmaas_crc_attach_network_cleanup - bmaas_crc_baremetal_bridge - bmaas_crc_baremetal_bridge_cleanup - bmaas_baremetal_net_nad - bmaas_baremetal_net_nad_cleanup - bmaas_metallb - bmaas_metallb_cleanup - bmaas_virtual_bms - bmaas_virtual_bms_cleanup - bmaas_sushy_emulator - bmaas_sushy_emulator_cleanup - bmaas_sushy_emulator_wait - bmaas_generate_nodes_yaml - bmaas - bmaas_cleanup failed: false success: true cifmw_install_yamls_defaults: ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 ADOPTED_TENANT_NETWORK: 172.9.1.0/24 ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_BRANCH: main ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator ANSIBLEE_COMMIT_HASH: '' BARBICAN: config/samples/barbican_v1beta1_barbican.yaml BARBICAN_BRANCH: main BARBICAN_COMMIT_HASH: '' BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml BARBICAN_DEPL_IMG: unused BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git BARBICAN_SERVICE_ENABLED: 'true' BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sE**********U= BAREMETAL_BRANCH: main BAREMETAL_COMMIT_HASH: '' BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest BAREMETAL_OS_CONTAINER_IMG: '' BAREMETAL_OS_IMG: '' BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git BAREMETAL_TIMEOUT: 20m BASH_IMG: quay.io/openstack-k8s-operators/bash:latest BGP_ASN: '64999' BGP_LEAF_1: 100.65.4.1 BGP_LEAF_2: 100.64.4.1 BGP_OVN_ROUTING: 'false' BGP_PEER_ASN: '64999' BGP_SOURCE_IP: 172.30.4.2 BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 BMAAS_INSTANCE_DISK_SIZE: '20' BMAAS_INSTANCE_MEMORY: '4096' BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas BMAAS_INSTANCE_NET_MODEL: virtio BMAAS_INSTANCE_OS_VARIANT: centos-stream9 BMAAS_INSTANCE_VCPUS: '2' BMAAS_INSTANCE_VIRT_TYPE: kvm BMAAS_IPV4: 'true' BMAAS_IPV6: 'false' BMAAS_LIBVIRT_USER: sushyemu BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 BMAAS_METALLB_POOL_NAME: baremetal BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 BMAAS_NETWORK_NAME: crc-bmaas BMAAS_NODE_COUNT: '1' BMAAS_OCP_INSTANCE_NAME: crc BMAAS_REDFISH_PASSWORD: password BMAAS_REDFISH_USERNAME: admin BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default BMAAS_SUSHY_EMULATOR_DRIVER: libvirt BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack BMH_NAMESPACE: openstack BMO_BRANCH: release-0.9 BMO_CLEANUP: 'true' BMO_COMMIT_HASH: '' BMO_IPA_BRANCH: stable/2024.1 BMO_IRONIC_HOST: 192.168.122.10 BMO_PROVISIONING_INTERFACE: '' BMO_REPO: https://github.com/metal3-io/baremetal-operator BMO_SETUP: false BMO_SETUP_ROUTE_REPLACE: 'true' BM_CTLPLANE_INTERFACE: enp1s0 BM_INSTANCE_MEMORY: '8192' BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal BM_INSTANCE_NAME_SUFFIX: '0' BM_NETWORK_NAME: default BM_NODE_COUNT: '1' BM_ROOT_PASSWORD: '' BM_ROOT_PASSWORD_SECRET: '' CEILOMETER_CENTRAL_DEPL_IMG: unused CEILOMETER_NOTIFICATION_DEPL_IMG: unused CEPH_BRANCH: release-1.15 CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml CEPH_IMG: quay.io/ceph/demo:latest-squid CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml CEPH_REPO: https://github.com/rook/rook.git CERTMANAGER_TIMEOUT: 300s CHECKOUT_FROM_OPENSTACK_REF: 'true' CINDER: config/samples/cinder_v1beta1_cinder.yaml CINDERAPI_DEPL_IMG: unused CINDERBKP_DEPL_IMG: unused CINDERSCH_DEPL_IMG: unused CINDERVOL_DEPL_IMG: unused CINDER_BRANCH: main CINDER_COMMIT_HASH: '' CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git CLEANUP_DIR_CMD: rm -Rf CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' CRC_HTTPS_PROXY: '' CRC_HTTP_PROXY: '' CRC_STORAGE_NAMESPACE: crc-storage CRC_STORAGE_RETRIES: '3' CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' CRC_VERSION: latest DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret DATAPLANE_ANSIBLE_USER: '' DATAPLANE_COMPUTE_IP: 192.168.122.100 DATAPLANE_CONTAINER_PREFIX: openstack DATAPLANE_CONTAINER_TAG: current-podified DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest DATAPLANE_DEFAULT_GW: 192.168.122.1 DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned DATAPLANE_NETWORKER_IP: 192.168.122.200 DATAPLANE_NETWORK_INTERFACE_NAME: eth0 DATAPLANE_NOVA_NFS_PATH: '' DATAPLANE_NTP_SERVER: pool.ntp.org DATAPLANE_PLAYBOOK: osp.edpm.download_cache DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 DATAPLANE_RUNNER_IMG: '' DATAPLANE_SERVER_ROLE: compute DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' DATAPLANE_TIMEOUT: 30m DATAPLANE_TLS_ENABLED: 'true' DATAPLANE_TOTAL_NETWORKER_NODES: '1' DATAPLANE_TOTAL_NODES: '1' DBSERVICE: galera DESIGNATE: config/samples/designate_v1beta1_designate.yaml DESIGNATE_BRANCH: main DESIGNATE_COMMIT_HASH: '' DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git DNSDATA: config/samples/network_v1beta1_dnsdata.yaml DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml DNS_DEPL_IMG: unused DNS_DOMAIN: localdomain DOWNLOAD_TOOLS_SELECTION: all EDPM_ATTACH_EXTNET: 'true' EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' EDPM_COMPUTE_CELLS: '1' EDPM_COMPUTE_CEPH_ENABLED: 'true' EDPM_COMPUTE_CEPH_NOVA: 'true' EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' EDPM_COMPUTE_SRIOV_ENABLED: 'true' EDPM_COMPUTE_SUFFIX: '0' EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' EDPM_CONFIGURE_HUGEPAGES: 'false' EDPM_CONFIGURE_NETWORKING: 'true' EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra EDPM_NETWORKER_SUFFIX: '0' EDPM_TOTAL_NETWORKERS: '1' EDPM_TOTAL_NODES: '1' GALERA_REPLICAS: '' GENERATE_SSH_KEYS: 'true' GIT_CLONE_OPTS: '' GLANCE: config/samples/glance_v1beta1_glance.yaml GLANCEAPI_DEPL_IMG: unused GLANCE_BRANCH: main GLANCE_COMMIT_HASH: '' GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git HEAT: config/samples/heat_v1beta1_heat.yaml HEATAPI_DEPL_IMG: unused HEATCFNAPI_DEPL_IMG: unused HEATENGINE_DEPL_IMG: unused HEAT_AUTH_ENCRYPTION_KEY: 76**********f0 HEAT_BRANCH: main HEAT_COMMIT_HASH: '' HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests HEAT_KUTTL_NAMESPACE: heat-kuttl-tests HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git HEAT_SERVICE_ENABLED: 'true' HORIZON: config/samples/horizon_v1beta1_horizon.yaml HORIZON_BRANCH: main HORIZON_COMMIT_HASH: '' HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml HORIZON_DEPL_IMG: unused HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git INFRA_BRANCH: main INFRA_COMMIT_HASH: '' INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests INFRA_KUTTL_NAMESPACE: infra-kuttl-tests INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git INSTALL_CERT_MANAGER: 'true' INSTALL_NMSTATE: true || false INSTALL_NNCP: true || false INTERNALAPI_HOST_ROUTES: '' IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 IPV6_LAB_LIBVIRT_STORAGE_POOL: default IPV6_LAB_MANAGE_FIREWALLD: 'true' IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' IPV6_LAB_NETWORK_NAME: nat64 IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 IPV6_LAB_SNO_HOST_PREFIX: '64' IPV6_LAB_SNO_INSTANCE_NAME: sno IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp IPV6_LAB_SNO_OCP_VERSION: latest-4.14 IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab IRONIC: config/samples/ironic_v1beta1_ironic.yaml IRONICAPI_DEPL_IMG: unused IRONICCON_DEPL_IMG: unused IRONICINS_DEPL_IMG: unused IRONICNAG_DEPL_IMG: unused IRONICPXE_DEPL_IMG: unused IRONIC_BRANCH: main IRONIC_COMMIT_HASH: '' IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml IRONIC_IMAGE_TAG: release-24.1 IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_DEPL_IMG: unused KEYSTONE_BRANCH: main KEYSTONE_COMMIT_HASH: '' KEYSTONE_FEDERATION_CLIENT_SECRET: CO**********6f KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests KEYSTONE_REPO: https://github.com/openstack-k8s-operators/keystone-operator.git KUBEADMIN_PWD: '12345678' LIBVIRT_SECRET: libvirt-secret LOKI_DEPLOY_MODE: openshift-network LOKI_DEPLOY_NAMESPACE: netobserv LOKI_DEPLOY_SIZE: 1x.demo LOKI_NAMESPACE: openshift-operators-redhat LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki LOKI_SUBSCRIPTION: loki-operator LVMS_CR: '1' MANILA: config/samples/manila_v1beta1_manila.yaml MANILAAPI_DEPL_IMG: unused MANILASCH_DEPL_IMG: unused MANILASHARE_DEPL_IMG: unused MANILA_BRANCH: main MANILA_COMMIT_HASH: '' MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests MANILA_KUTTL_NAMESPACE: manila-kuttl-tests MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git MANILA_SERVICE_ENABLED: 'true' MARIADB: config/samples/mariadb_v1beta1_galera.yaml MARIADB_BRANCH: main MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests MARIADB_COMMIT_HASH: '' MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml MARIADB_DEPL_IMG: unused MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_DEPL_IMG: unused METADATA_SHARED_SECRET: '12**********42' METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 METALLB_POOL: 192.168.122.80-192.168.122.90 MICROSHIFT: '0' NAMESPACE: openstack NETCONFIG: config/samples/network_v1beta1_netconfig.yaml NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml NETCONFIG_DEPL_IMG: unused NETOBSERV_DEPLOY_NAMESPACE: netobserv NETOBSERV_NAMESPACE: openshift-netobserv-operator NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net NETOBSERV_SUBSCRIPTION: netobserv-operator NETWORK_BGP: 'false' NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 NETWORK_ISOLATION: 'true' NETWORK_ISOLATION_INSTANCE_NAME: crc NETWORK_ISOLATION_IPV4: 'true' NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 NETWORK_ISOLATION_IPV4_NAT: 'true' NETWORK_ISOLATION_IPV6: 'false' NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' NETWORK_ISOLATION_NETWORK_NAME: net-iso NETWORK_ISOLATION_NET_NAME: default NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' NETWORK_MTU: '1500' NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 NETWORK_STORAGE_MACVLAN: '' NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 NETWORK_VLAN_START: '20' NETWORK_VLAN_STEP: '1' NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_DEPL_IMG: unused NEUTRON_BRANCH: main NEUTRON_COMMIT_HASH: '' NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git NFS_HOME: /home/nfs NMSTATE_NAMESPACE: openshift-nmstate NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator NNCP_ADDITIONAL_HOST_ROUTES: '' NNCP_BGP_1_INTERFACE: enp7s0 NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 NNCP_BGP_2_INTERFACE: enp8s0 NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 NNCP_BRIDGE: ospbr NNCP_CLEANUP_TIMEOUT: 120s NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' NNCP_DNS_SERVER: 192.168.122.1 NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 NNCP_GATEWAY: 192.168.122.1 NNCP_GATEWAY_IPV6: fd00:aaaa::1 NNCP_INTERFACE: enp6s0 NNCP_NODES: '' NNCP_TIMEOUT: 240s NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_BRANCH: main NOVA_COMMIT_HASH: '' NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git NUMBER_OF_INSTANCES: '1' OCP_NETWORK_NAME: crc OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_BRANCH: main OCTAVIA_COMMIT_HASH: '' OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git OKD: 'false' OPENSTACK_BRANCH: main OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest OPENSTACK_COMMIT_HASH: '' OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_CRDS_DIR: openstack_crds OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest OPENSTACK_K8S_BRANCH: main OPENSTACK_K8S_TAG: latest OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests OPENSTACK_NEUTRON_CUSTOM_CONF: '' OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator OPERATOR_CHANNEL: '' OPERATOR_NAMESPACE: openstack-operators OPERATOR_SOURCE: '' OPERATOR_SOURCE_NAMESPACE: '' OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_NMAP: 'true' OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml OVN_BRANCH: main OVN_COMMIT_HASH: '' OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests OVN_KUTTL_NAMESPACE: ovn-kuttl-tests OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git PASSWORD: '12**********78' PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_DEPL_IMG: unused PLACEMENT_BRANCH: main PLACEMENT_COMMIT_HASH: '' PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_BRANCH: patches RABBITMQ_COMMIT_HASH: '' RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_DEPL_IMG: unused RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git REDHAT_OPERATORS: 'false' REDIS: config/samples/redis_v1beta1_redis.yaml REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml REDIS_DEPL_IMG: unused RH_REGISTRY_PWD: '' RH_REGISTRY_USER: '' SECRET: os**********et SG_CORE_DEPL_IMG: unused STANDALONE_COMPUTE_DRIVER: libvirt STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 STANDALONE_STORAGE_NET_PREFIX: 172.18.0 STANDALONE_TENANT_NET_PREFIX: 172.19.0 STORAGEMGMT_HOST_ROUTES: '' STORAGE_CLASS: local-storage STORAGE_HOST_ROUTES: '' SWIFT: config/samples/swift_v1beta1_swift.yaml SWIFT_BRANCH: main SWIFT_COMMIT_HASH: '' SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_BRANCH: main TELEMETRY_COMMIT_HASH: '' TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: test/kuttl/suites TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git TENANT_HOST_ROUTES: '' TIMEOUT: 300s TLS_ENABLED: 'false' tripleo_deploy: 'export REGISTRY_USER:' cifmw_install_yamls_environment: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm cifmw_install_yamls_vars: BMO_SETUP: false cifmw_installyamls_repos: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls cifmw_installyamls_repos_relative: src/github.com/openstack-k8s-operators/install_yamls cifmw_kuttl_openstack_prep_vars: NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 cifmw_kuttl_tests_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 cifmw_kuttl_tests_env_vars: PV_NUM: 20 cifmw_kuttl_tests_operator_list: - openstack - barbican - keystone - horizon cifmw_make_ceph_environment: CEPH_TIMEOUT: 120 cifmw_openshift_api: api.crc.testing:6443 cifmw_openshift_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_login_api: https://api.crc.testing:6443 cifmw_openshift_login_api_out: changed: true cmd: - oc - whoami - --show-server=true delta: '0:00:00.127135' end: '2025-12-03 11:30:50.990874' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:50.863739' stderr: '' stderr_lines: [] stdout: https://api.crc.testing:6443 stdout_lines: - https://api.crc.testing:6443 cifmw_openshift_login_cert_login: false cifmw_openshift_login_context: default/api-crc-testing:6443/kubeadmin cifmw_openshift_login_context_out: changed: true cmd: - oc - whoami - -c delta: '0:00:00.116351' end: '2025-12-03 11:30:51.330108' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:51.213757' stderr: '' stderr_lines: [] stdout: default/api-crc-testing:6443/kubeadmin stdout_lines: - default/api-crc-testing:6443/kubeadmin cifmw_openshift_login_install_yamls_artifacts_slurp: changed: false content: Y2lmbXdfaW5zdGFsbF95YW1sc19kZWZhdWx0czoKICAgIEFET1BURURfRVhURVJOQUxfTkVUV09SSzogMTcyLjIxLjEuMC8yNAogICAgQURPUFRFRF9JTlRFUk5BTEFQSV9ORVRXT1JLOiAxNzIuMTcuMS4wLzI0CiAgICBBRE9QVEVEX1NUT1JBR0VNR01UX05FVFdPUks6IDE3Mi4yMC4xLjAvMjQKICAgIEFET1BURURfU1RPUkFHRV9ORVRXT1JLOiAxNzIuMTguMS4wLzI0CiAgICBBRE9QVEVEX1RFTkFOVF9ORVRXT1JLOiAxNzIuOS4xLjAvMjQKICAgIEFOU0lCTEVFRTogY29uZmlnL3NhbXBsZXMvX3YxYmV0YTFfYW5zaWJsZWVlLnlhbWwKICAgIEFOU0lCTEVFRV9CUkFOQ0g6IG1haW4KICAgIEFOU0lCTEVFRV9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29wZW5zdGFjay1hbnNpYmxlZWUtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvX3YxYmV0YTFfYW5zaWJsZWVlLnlhbWwKICAgIEFOU0lCTEVFRV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb3BlbnN0YWNrLWFuc2libGVlZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIEFOU0lCTEVFRV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivb3BlbnN0YWNrLWFuc2libGVlZS1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEFOU0lCTEVFRV9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vcGVuc3RhY2stYW5zaWJsZWVlLW9wZXJhdG9yL3Rlc3Qva3V0dGwvdGVzdHMKICAgIEFOU0lCTEVFRV9LVVRUTF9OQU1FU1BBQ0U6IGFuc2libGVlZS1rdXR0bC10ZXN0cwogICAgQU5TSUJMRUVFX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9vcGVuc3RhY2stYW5zaWJsZWVlLW9wZXJhdG9yCiAgICBBTlNJQkxFRV9DT01NSVRfSEFTSDogJycKICAgIEJBUkJJQ0FOOiBjb25maWcvc2FtcGxlcy9iYXJiaWNhbl92MWJldGExX2JhcmJpY2FuLnlhbWwKICAgIEJBUkJJQ0FOX0JSQU5DSDogbWFpbgogICAgQkFSQklDQU5fQ09NTUlUX0hBU0g6ICcnCiAgICBCQVJCSUNBTl9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2JhcmJpY2FuLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2JhcmJpY2FuX3YxYmV0YTFfYmFyYmljYW4ueWFtbAogICAgQkFSQklDQU5fREVQTF9JTUc6IHVudXNlZAogICAgQkFSQklDQU5fSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2JhcmJpY2FuLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgQkFSQklDQU5fS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2JhcmJpY2FuLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgQkFSQklDQU5fS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvYmFyYmljYW4tb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgQkFSQklDQU5fS1VUVExfTkFNRVNQQUNFOiBiYXJiaWNhbi1rdXR0bC10ZXN0cwogICAgQkFSQklDQU5fUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2JhcmJpY2FuLW9wZXJhdG9yLmdpdAogICAgQkFSQklDQU5fU0VSVklDRV9FTkFCTEVEOiAndHJ1ZScKICAgIEJBUkJJQ0FOX1NJTVBMRV9DUllQVE9fRU5DUllQVElPTl9LRVk6IHNFRm1kRmpEVXFSTTJWZW1Zc2xWNXlHTldqb2tpb0pYc2c4TnJsYzNkclU9CiAgICBCQVJFTUVUQUxfQlJBTkNIOiBtYWluCiAgICBCQVJFTUVUQUxfQ09NTUlUX0hBU0g6ICcnCiAgICBCQVJFTUVUQUxfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1iYXJlbWV0YWwtb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBCQVJFTUVUQUxfT1NfQ09OVEFJTkVSX0lNRzogJycKICAgIEJBUkVNRVRBTF9PU19JTUc6ICcnCiAgICBCQVJFTUVUQUxfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1iYXJlbWV0YWwtb3BlcmF0b3IuZ2l0CiAgICBCQVJFTUVUQUxfVElNRU9VVDogMjBtCiAgICBCQVNIX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9iYXNoOmxhdGVzdAogICAgQkdQX0FTTjogJzY0OTk5JwogICAgQkdQX0xFQUZfMTogMTAwLjY1LjQuMQogICAgQkdQX0xFQUZfMjogMTAwLjY0LjQuMQogICAgQkdQX09WTl9ST1VUSU5HOiAnZmFsc2UnCiAgICBCR1BfUEVFUl9BU046ICc2NDk5OScKICAgIEJHUF9TT1VSQ0VfSVA6IDE3Mi4zMC40LjIKICAgIEJHUF9TT1VSQ0VfSVA2OiBmMDBkOmYwMGQ6ZjAwZDpmMDBkOmYwMGQ6ZjAwZDpmMDBkOjQyCiAgICBCTUFBU19CUklER0VfSVBWNF9QUkVGSVg6IDE3Mi4yMC4xLjIvMjQKICAgIEJNQUFTX0JSSURHRV9JUFY2X1BSRUZJWDogZmQwMDpiYmJiOjoyLzY0CiAgICBCTUFBU19JTlNUQU5DRV9ESVNLX1NJWkU6ICcyMCcKICAgIEJNQUFTX0lOU1RBTkNFX01FTU9SWTogJzQwOTYnCiAgICBCTUFBU19JTlNUQU5DRV9OQU1FX1BSRUZJWDogY3JjLWJtYWFzCiAgICBCTUFBU19JTlNUQU5DRV9ORVRfTU9ERUw6IHZpcnRpbwogICAgQk1BQVNfSU5TVEFOQ0VfT1NfVkFSSUFOVDogY2VudG9zLXN0cmVhbTkKICAgIEJNQUFTX0lOU1RBTkNFX1ZDUFVTOiAnMicKICAgIEJNQUFTX0lOU1RBTkNFX1ZJUlRfVFlQRToga3ZtCiAgICBCTUFBU19JUFY0OiAndHJ1ZScKICAgIEJNQUFTX0lQVjY6ICdmYWxzZScKICAgIEJNQUFTX0xJQlZJUlRfVVNFUjogc3VzaHllbXUKICAgIEJNQUFTX01FVEFMTEJfQUREUkVTU19QT09MOiAxNzIuMjAuMS42NC8yNgogICAgQk1BQVNfTUVUQUxMQl9QT09MX05BTUU6IGJhcmVtZXRhbAogICAgQk1BQVNfTkVUV09SS19JUFY0X1BSRUZJWDogMTcyLjIwLjEuMS8yNAogICAgQk1BQVNfTkVUV09SS19JUFY2X1BSRUZJWDogZmQwMDpiYmJiOjoxLzY0CiAgICBCTUFBU19ORVRXT1JLX05BTUU6IGNyYy1ibWFhcwogICAgQk1BQVNfTk9ERV9DT1VOVDogJzEnCiAgICBCTUFBU19PQ1BfSU5TVEFOQ0VfTkFNRTogY3JjCiAgICBCTUFBU19SRURGSVNIX1BBU1NXT1JEOiBwYXNzd29yZAogICAgQk1BQVNfUkVERklTSF9VU0VSTkFNRTogYWRtaW4KICAgIEJNQUFTX1JPVVRFX0xJQlZJUlRfTkVUV09SS1M6IGNyYy1ibWFhcyxjcmMsZGVmYXVsdAogICAgQk1BQVNfU1VTSFlfRU1VTEFUT1JfRFJJVkVSOiBsaWJ2aXJ0CiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9JTUFHRTogcXVheS5pby9tZXRhbDMtaW8vc3VzaHktdG9vbHM6bGF0ZXN0CiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9OQU1FU1BBQ0U6IHN1c2h5LWVtdWxhdG9yCiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9PU19DTElFTlRfQ09ORklHX0ZJTEU6IC9ldGMvb3BlbnN0YWNrL2Nsb3Vkcy55YW1sCiAgICBCTUFBU19TVVNIWV9FTVVMQVRPUl9PU19DTE9VRDogb3BlbnN0YWNrCiAgICBCTUhfTkFNRVNQQUNFOiBvcGVuc3RhY2sKICAgIEJNT19CUkFOQ0g6IHJlbGVhc2UtMC45CiAgICBCTU9fQ0xFQU5VUDogJ3RydWUnCiAgICBCTU9fQ09NTUlUX0hBU0g6ICcnCiAgICBCTU9fSVBBX0JSQU5DSDogc3RhYmxlLzIwMjQuMQogICAgQk1PX0lST05JQ19IT1NUOiAxOTIuMTY4LjEyMi4xMAogICAgQk1PX1BST1ZJU0lPTklOR19JTlRFUkZBQ0U6ICcnCiAgICBCTU9fUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL21ldGFsMy1pby9iYXJlbWV0YWwtb3BlcmF0b3IKICAgIEJNT19TRVRVUDogZmFsc2UKICAgIEJNT19TRVRVUF9ST1VURV9SRVBMQUNFOiAndHJ1ZScKICAgIEJNX0NUTFBMQU5FX0lOVEVSRkFDRTogZW5wMXMwCiAgICBCTV9JTlNUQU5DRV9NRU1PUlk6ICc4MTkyJwogICAgQk1fSU5TVEFOQ0VfTkFNRV9QUkVGSVg6IGVkcG0tY29tcHV0ZS1iYXJlbWV0YWwKICAgIEJNX0lOU1RBTkNFX05BTUVfU1VGRklYOiAnMCcKICAgIEJNX05FVFdPUktfTkFNRTogZGVmYXVsdAogICAgQk1fTk9ERV9DT1VOVDogJzEnCiAgICBCTV9ST09UX1BBU1NXT1JEOiAnJwogICAgQk1fUk9PVF9QQVNTV09SRF9TRUNSRVQ6ICcnCiAgICBDRUlMT01FVEVSX0NFTlRSQUxfREVQTF9JTUc6IHVudXNlZAogICAgQ0VJTE9NRVRFUl9OT1RJRklDQVRJT05fREVQTF9JTUc6IHVudXNlZAogICAgQ0VQSF9CUkFOQ0g6IHJlbGVhc2UtMS4xNQogICAgQ0VQSF9DTElFTlQ6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9yb29rL2RlcGxveS9leGFtcGxlcy90b29sYm94LnlhbWwKICAgIENFUEhfQ09NTU9OOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivcm9vay9kZXBsb3kvZXhhbXBsZXMvY29tbW9uLnlhbWwKICAgIENFUEhfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9yb29rL2RlcGxveS9leGFtcGxlcy9jbHVzdGVyLXRlc3QueWFtbAogICAgQ0VQSF9DUkRTOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivcm9vay9kZXBsb3kvZXhhbXBsZXMvY3Jkcy55YW1sCiAgICBDRVBIX0lNRzogcXVheS5pby9jZXBoL2RlbW86bGF0ZXN0LXNxdWlkCiAgICBDRVBIX09QOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivcm9vay9kZXBsb3kvZXhhbXBsZXMvb3BlcmF0b3Itb3BlbnNoaWZ0LnlhbWwKICAgIENFUEhfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL3Jvb2svcm9vay5naXQKICAgIENFUlRNQU5BR0VSX1RJTUVPVVQ6IDMwMHMKICAgIENIRUNLT1VUX0ZST01fT1BFTlNUQUNLX1JFRjogJ3RydWUnCiAgICBDSU5ERVI6IGNvbmZpZy9zYW1wbGVzL2NpbmRlcl92MWJldGExX2NpbmRlci55YW1sCiAgICBDSU5ERVJBUElfREVQTF9JTUc6IHVudXNlZAogICAgQ0lOREVSQktQX0RFUExfSU1HOiB1bnVzZWQKICAgIENJTkRFUlNDSF9ERVBMX0lNRzogdW51c2VkCiAgICBDSU5ERVJWT0xfREVQTF9JTUc6IHVudXNlZAogICAgQ0lOREVSX0JSQU5DSDogbWFpbgogICAgQ0lOREVSX0NPTU1JVF9IQVNIOiAnJwogICAgQ0lOREVSX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvY2luZGVyLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2NpbmRlcl92MWJldGExX2NpbmRlci55YW1sCiAgICBDSU5ERVJfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpbmRlci1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIENJTkRFUl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvY2luZGVyLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgQ0lOREVSX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2NpbmRlci1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBDSU5ERVJfS1VUVExfTkFNRVNQQUNFOiBjaW5kZXIta3V0dGwtdGVzdHMKICAgIENJTkRFUl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2luZGVyLW9wZXJhdG9yLmdpdAogICAgQ0xFQU5VUF9ESVJfQ01EOiBybSAtUmYKICAgIENSQ19CR1BfTklDXzFfTUFDOiAnNTI6NTQ6MDA6MTE6MTE6MTEnCiAgICBDUkNfQkdQX05JQ18yX01BQzogJzUyOjU0OjAwOjExOjExOjEyJwogICAgQ1JDX0hUVFBTX1BST1hZOiAnJwogICAgQ1JDX0hUVFBfUFJPWFk6ICcnCiAgICBDUkNfU1RPUkFHRV9OQU1FU1BBQ0U6IGNyYy1zdG9yYWdlCiAgICBDUkNfU1RPUkFHRV9SRVRSSUVTOiAnMycKICAgIENSQ19VUkw6ICcnJ2h0dHBzOi8vZGV2ZWxvcGVycy5yZWRoYXQuY29tL2NvbnRlbnQtZ2F0ZXdheS9yZXN0L21pcnJvci9wdWIvb3BlbnNoaWZ0LXY0L2NsaWVudHMvY3JjL2xhdGVzdC9jcmMtbGludXgtYW1kNjQudGFyLnh6JycnCiAgICBDUkNfVkVSU0lPTjogbGF0ZXN0CiAgICBEQVRBUExBTkVfQU5TSUJMRV9TRUNSRVQ6IGRhdGFwbGFuZS1hbnNpYmxlLXNzaC1wcml2YXRlLWtleS1zZWNyZXQKICAgIERBVEFQTEFORV9BTlNJQkxFX1VTRVI6ICcnCiAgICBEQVRBUExBTkVfQ09NUFVURV9JUDogMTkyLjE2OC4xMjIuMTAwCiAgICBEQVRBUExBTkVfQ09OVEFJTkVSX1BSRUZJWDogb3BlbnN0YWNrCiAgICBEQVRBUExBTkVfQ09OVEFJTkVSX1RBRzogY3VycmVudC1wb2RpZmllZAogICAgREFUQVBMQU5FX0NVU1RPTV9TRVJWSUNFX1JVTk5FUl9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb3BlbnN0YWNrLWFuc2libGVlZS1ydW5uZXI6bGF0ZXN0CiAgICBEQVRBUExBTkVfREVGQVVMVF9HVzogMTkyLjE2OC4xMjIuMQogICAgREFUQVBMQU5FX0VYVFJBX05PVkFfQ09ORklHX0ZJTEU6IC9kZXYvbnVsbAogICAgREFUQVBMQU5FX0dST1dWT0xTX0FSR1M6IC89OEdCIC90bXA9MUdCIC9ob21lPTFHQiAvdmFyPTEwMCUKICAgIERBVEFQTEFORV9LVVNUT01JWkVfU0NFTkFSSU86IHByZXByb3Zpc2lvbmVkCiAgICBEQVRBUExBTkVfTkVUV09SS0VSX0lQOiAxOTIuMTY4LjEyMi4yMDAKICAgIERBVEFQTEFORV9ORVRXT1JLX0lOVEVSRkFDRV9OQU1FOiBldGgwCiAgICBEQVRBUExBTkVfTk9WQV9ORlNfUEFUSDogJycKICAgIERBVEFQTEFORV9OVFBfU0VSVkVSOiBwb29sLm50cC5vcmcKICAgIERBVEFQTEFORV9QTEFZQk9PSzogb3NwLmVkcG0uZG93bmxvYWRfY2FjaGUKICAgIERBVEFQTEFORV9SRUdJU1RSWV9VUkw6IHF1YXkuaW8vcG9kaWZpZWQtYW50ZWxvcGUtY2VudG9zOQogICAgREFUQVBMQU5FX1JVTk5FUl9JTUc6ICcnCiAgICBEQVRBUExBTkVfU0VSVkVSX1JPTEU6IGNvbXB1dGUKICAgIERBVEFQTEFORV9TU0hEX0FMTE9XRURfUkFOR0VTOiAnWycnMTkyLjE2OC4xMjIuMC8yNCcnXScKICAgIERBVEFQTEFORV9USU1FT1VUOiAzMG0KICAgIERBVEFQTEFORV9UTFNfRU5BQkxFRDogJ3RydWUnCiAgICBEQVRBUExBTkVfVE9UQUxfTkVUV09SS0VSX05PREVTOiAnMScKICAgIERBVEFQTEFORV9UT1RBTF9OT0RFUzogJzEnCiAgICBEQlNFUlZJQ0U6IGdhbGVyYQogICAgREVTSUdOQVRFOiBjb25maWcvc2FtcGxlcy9kZXNpZ25hdGVfdjFiZXRhMV9kZXNpZ25hdGUueWFtbAogICAgREVTSUdOQVRFX0JSQU5DSDogbWFpbgogICAgREVTSUdOQVRFX0NPTU1JVF9IQVNIOiAnJwogICAgREVTSUdOQVRFX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZGVzaWduYXRlLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2Rlc2lnbmF0ZV92MWJldGExX2Rlc2lnbmF0ZS55YW1sCiAgICBERVNJR05BVEVfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2Rlc2lnbmF0ZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIERFU0lHTkFURV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZGVzaWduYXRlLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgREVTSUdOQVRFX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2Rlc2lnbmF0ZS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBERVNJR05BVEVfS1VUVExfTkFNRVNQQUNFOiBkZXNpZ25hdGUta3V0dGwtdGVzdHMKICAgIERFU0lHTkFURV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvZGVzaWduYXRlLW9wZXJhdG9yLmdpdAogICAgRE5TREFUQTogY29uZmlnL3NhbXBsZXMvbmV0d29ya192MWJldGExX2Ruc2RhdGEueWFtbAogICAgRE5TREFUQV9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2luZnJhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL25ldHdvcmtfdjFiZXRhMV9kbnNkYXRhLnlhbWwKICAgIEROU01BU1E6IGNvbmZpZy9zYW1wbGVzL25ldHdvcmtfdjFiZXRhMV9kbnNtYXNxLnlhbWwKICAgIEROU01BU1FfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9pbmZyYS1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9uZXR3b3JrX3YxYmV0YTFfZG5zbWFzcS55YW1sCiAgICBETlNfREVQTF9JTUc6IHVudXNlZAogICAgRE5TX0RPTUFJTjogbG9jYWxkb21haW4KICAgIERPV05MT0FEX1RPT0xTX1NFTEVDVElPTjogYWxsCiAgICBFRFBNX0FUVEFDSF9FWFRORVQ6ICd0cnVlJwogICAgRURQTV9DT01QVVRFX0FERElUSU9OQUxfSE9TVF9ST1VURVM6ICcnJ1tdJycnCiAgICBFRFBNX0NPTVBVVEVfQURESVRJT05BTF9ORVRXT1JLUzogJycnW10nJycKICAgIEVEUE1fQ09NUFVURV9DRUxMUzogJzEnCiAgICBFRFBNX0NPTVBVVEVfQ0VQSF9FTkFCTEVEOiAndHJ1ZScKICAgIEVEUE1fQ09NUFVURV9DRVBIX05PVkE6ICd0cnVlJwogICAgRURQTV9DT01QVVRFX0RIQ1BfQUdFTlRfRU5BQkxFRDogJ3RydWUnCiAgICBFRFBNX0NPTVBVVEVfU1JJT1ZfRU5BQkxFRDogJ3RydWUnCiAgICBFRFBNX0NPTVBVVEVfU1VGRklYOiAnMCcKICAgIEVEUE1fQ09ORklHVVJFX0RFRkFVTFRfUk9VVEU6ICd0cnVlJwogICAgRURQTV9DT05GSUdVUkVfSFVHRVBBR0VTOiAnZmFsc2UnCiAgICBFRFBNX0NPTkZJR1VSRV9ORVRXT1JLSU5HOiAndHJ1ZScKICAgIEVEUE1fRklSU1RCT09UX0VYVFJBOiAvdG1wL2VkcG0tZmlyc3Rib290LWV4dHJhCiAgICBFRFBNX05FVFdPUktFUl9TVUZGSVg6ICcwJwogICAgRURQTV9UT1RBTF9ORVRXT1JLRVJTOiAnMScKICAgIEVEUE1fVE9UQUxfTk9ERVM6ICcxJwogICAgR0FMRVJBX1JFUExJQ0FTOiAnJwogICAgR0VORVJBVEVfU1NIX0tFWVM6ICd0cnVlJwogICAgR0lUX0NMT05FX09QVFM6ICcnCiAgICBHTEFOQ0U6IGNvbmZpZy9zYW1wbGVzL2dsYW5jZV92MWJldGExX2dsYW5jZS55YW1sCiAgICBHTEFOQ0VBUElfREVQTF9JTUc6IHVudXNlZAogICAgR0xBTkNFX0JSQU5DSDogbWFpbgogICAgR0xBTkNFX0NPTU1JVF9IQVNIOiAnJwogICAgR0xBTkNFX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZ2xhbmNlLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL2dsYW5jZV92MWJldGExX2dsYW5jZS55YW1sCiAgICBHTEFOQ0VfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2dsYW5jZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIEdMQU5DRV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvZ2xhbmNlLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgR0xBTkNFX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2dsYW5jZS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBHTEFOQ0VfS1VUVExfTkFNRVNQQUNFOiBnbGFuY2Uta3V0dGwtdGVzdHMKICAgIEdMQU5DRV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvZ2xhbmNlLW9wZXJhdG9yLmdpdAogICAgSEVBVDogY29uZmlnL3NhbXBsZXMvaGVhdF92MWJldGExX2hlYXQueWFtbAogICAgSEVBVEFQSV9ERVBMX0lNRzogdW51c2VkCiAgICBIRUFUQ0ZOQVBJX0RFUExfSU1HOiB1bnVzZWQKICAgIEhFQVRFTkdJTkVfREVQTF9JTUc6IHVudXNlZAogICAgSEVBVF9BVVRIX0VOQ1JZUFRJT05fS0VZOiA3NjdjM2VkMDU2Y2JhYTNiOWRmZWRiOGM2ZjgyNWJmMAogICAgSEVBVF9CUkFOQ0g6IG1haW4KICAgIEhFQVRfQ09NTUlUX0hBU0g6ICcnCiAgICBIRUFUX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaGVhdC1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9oZWF0X3YxYmV0YTFfaGVhdC55YW1sCiAgICBIRUFUX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9oZWF0LW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgSEVBVF9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaGVhdC1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEhFQVRfS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaGVhdC1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBIRUFUX0tVVFRMX05BTUVTUEFDRTogaGVhdC1rdXR0bC10ZXN0cwogICAgSEVBVF9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaGVhdC1vcGVyYXRvci5naXQKICAgIEhFQVRfU0VSVklDRV9FTkFCTEVEOiAndHJ1ZScKICAgIEhPUklaT046IGNvbmZpZy9zYW1wbGVzL2hvcml6b25fdjFiZXRhMV9ob3Jpem9uLnlhbWwKICAgIEhPUklaT05fQlJBTkNIOiBtYWluCiAgICBIT1JJWk9OX0NPTU1JVF9IQVNIOiAnJwogICAgSE9SSVpPTl9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2hvcml6b24tb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvaG9yaXpvbl92MWJldGExX2hvcml6b24ueWFtbAogICAgSE9SSVpPTl9ERVBMX0lNRzogdW51c2VkCiAgICBIT1JJWk9OX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9ob3Jpem9uLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgSE9SSVpPTl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaG9yaXpvbi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEhPUklaT05fS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaG9yaXpvbi1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBIT1JJWk9OX0tVVFRMX05BTUVTUEFDRTogaG9yaXpvbi1rdXR0bC10ZXN0cwogICAgSE9SSVpPTl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaG9yaXpvbi1vcGVyYXRvci5naXQKICAgIElORlJBX0JSQU5DSDogbWFpbgogICAgSU5GUkFfQ09NTUlUX0hBU0g6ICcnCiAgICBJTkZSQV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaW5mcmEtb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBJTkZSQV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaW5mcmEtb3BlcmF0b3Iva3V0dGwtdGVzdC55YW1sCiAgICBJTkZSQV9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9pbmZyYS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBJTkZSQV9LVVRUTF9OQU1FU1BBQ0U6IGluZnJhLWt1dHRsLXRlc3RzCiAgICBJTkZSQV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaW5mcmEtb3BlcmF0b3IuZ2l0CiAgICBJTlNUQUxMX0NFUlRfTUFOQUdFUjogJ3RydWUnCiAgICBJTlNUQUxMX05NU1RBVEU6IHRydWUgfHwgZmFsc2UKICAgIElOU1RBTExfTk5DUDogdHJ1ZSB8fCBmYWxzZQogICAgSU5URVJOQUxBUElfSE9TVF9ST1VURVM6ICcnCiAgICBJUFY2X0xBQl9JUFY0X05FVFdPUktfSVBBRERSRVNTOiAxNzIuMzAuMC4xLzI0CiAgICBJUFY2X0xBQl9JUFY2X05FVFdPUktfSVBBRERSRVNTOiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjoxLzY0CiAgICBJUFY2X0xBQl9MSUJWSVJUX1NUT1JBR0VfUE9PTDogZGVmYXVsdAogICAgSVBWNl9MQUJfTUFOQUdFX0ZJUkVXQUxMRDogJ3RydWUnCiAgICBJUFY2X0xBQl9OQVQ2NF9IT1NUX0lQVjQ6IDE3Mi4zMC4wLjIvMjQKICAgIElQVjZfTEFCX05BVDY0X0hPU1RfSVBWNjogZmQwMDphYmNkOmFiY2Q6ZmMwMDo6Mi82NAogICAgSVBWNl9MQUJfTkFUNjRfSU5TVEFOQ0VfTkFNRTogbmF0NjQtcm91dGVyCiAgICBJUFY2X0xBQl9OQVQ2NF9JUFY2X05FVFdPUks6IGZkMDA6YWJjZDphYmNkOmZjMDA6Oi82NAogICAgSVBWNl9MQUJfTkFUNjRfVEFZR0FfRFlOQU1JQ19QT09MOiAxOTIuMTY4LjI1NS4wLzI0CiAgICBJUFY2X0xBQl9OQVQ2NF9UQVlHQV9JUFY0OiAxOTIuMTY4LjI1NS4xCiAgICBJUFY2X0xBQl9OQVQ2NF9UQVlHQV9JUFY2OiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjozCiAgICBJUFY2X0xBQl9OQVQ2NF9UQVlHQV9JUFY2X1BSRUZJWDogZmQwMDphYmNkOmFiY2Q6ZmNmZjo6Lzk2CiAgICBJUFY2X0xBQl9OQVQ2NF9VUERBVEVfUEFDS0FHRVM6ICdmYWxzZScKICAgIElQVjZfTEFCX05FVFdPUktfTkFNRTogbmF0NjQKICAgIElQVjZfTEFCX1NOT19DTFVTVEVSX05FVFdPUks6IGZkMDA6YWJjZDowOjovNDgKICAgIElQVjZfTEFCX1NOT19IT1NUX0lQOiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjoxMQogICAgSVBWNl9MQUJfU05PX0hPU1RfUFJFRklYOiAnNjQnCiAgICBJUFY2X0xBQl9TTk9fSU5TVEFOQ0VfTkFNRTogc25vCiAgICBJUFY2X0xBQl9TTk9fTUFDSElORV9ORVRXT1JLOiBmZDAwOmFiY2Q6YWJjZDpmYzAwOjovNjQKICAgIElQVjZfTEFCX1NOT19PQ1BfTUlSUk9SX1VSTDogaHR0cHM6Ly9taXJyb3Iub3BlbnNoaWZ0LmNvbS9wdWIvb3BlbnNoaWZ0LXY0L2NsaWVudHMvb2NwCiAgICBJUFY2X0xBQl9TTk9fT0NQX1ZFUlNJT046IGxhdGVzdC00LjE0CiAgICBJUFY2X0xBQl9TTk9fU0VSVklDRV9ORVRXT1JLOiBmZDAwOmFiY2Q6YWJjZDpmYzAzOjovMTEyCiAgICBJUFY2X0xBQl9TU0hfUFVCX0tFWTogL2hvbWUvenV1bC8uc3NoL2lkX3JzYS5wdWIKICAgIElQVjZfTEFCX1dPUktfRElSOiAvaG9tZS96dXVsLy5pcHY2bGFiCiAgICBJUk9OSUM6IGNvbmZpZy9zYW1wbGVzL2lyb25pY192MWJldGExX2lyb25pYy55YW1sCiAgICBJUk9OSUNBUElfREVQTF9JTUc6IHVudXNlZAogICAgSVJPTklDQ09OX0RFUExfSU1HOiB1bnVzZWQKICAgIElST05JQ0lOU19ERVBMX0lNRzogdW51c2VkCiAgICBJUk9OSUNOQUdfREVQTF9JTUc6IHVudXNlZAogICAgSVJPTklDUFhFX0RFUExfSU1HOiB1bnVzZWQKICAgIElST05JQ19CUkFOQ0g6IG1haW4KICAgIElST05JQ19DT01NSVRfSEFTSDogJycKICAgIElST05JQ19DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2lyb25pYy1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9pcm9uaWNfdjFiZXRhMV9pcm9uaWMueWFtbAogICAgSVJPTklDX0lNQUdFX1RBRzogcmVsZWFzZS0yNC4xCiAgICBJUk9OSUNfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2lyb25pYy1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIElST05JQ19LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaXJvbmljLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgSVJPTklDX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2lyb25pYy1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBJUk9OSUNfS1VUVExfTkFNRVNQQUNFOiBpcm9uaWMta3V0dGwtdGVzdHMKICAgIElST05JQ19SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvaXJvbmljLW9wZXJhdG9yLmdpdAogICAgS0VZU1RPTkVBUEk6IGNvbmZpZy9zYW1wbGVzL2tleXN0b25lX3YxYmV0YTFfa2V5c3RvbmVhcGkueWFtbAogICAgS0VZU1RPTkVBUElfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9rZXlzdG9uZS1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9rZXlzdG9uZV92MWJldGExX2tleXN0b25lYXBpLnlhbWwKICAgIEtFWVNUT05FQVBJX0RFUExfSU1HOiB1bnVzZWQKICAgIEtFWVNUT05FX0JSQU5DSDogbWFpbgogICAgS0VZU1RPTkVfQ09NTUlUX0hBU0g6ICcnCiAgICBLRVlTVE9ORV9GRURFUkFUSU9OX0NMSUVOVF9TRUNSRVQ6IENPWDhibWxLQVduNTZYQ0dNcktRSmo3ZGdITkFPbDZmCiAgICBLRVlTVE9ORV9GRURFUkFUSU9OX0NSWVBUT19QQVNTUEhSQVNFOiBvcGVuc3RhY2sKICAgIEtFWVNUT05FX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9rZXlzdG9uZS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIEtFWVNUT05FX0tVVFRMX0NPTkY6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9rZXlzdG9uZS1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIEtFWVNUT05FX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2tleXN0b25lLW9wZXJhdG9yL3Rlc3Qva3V0dGwvdGVzdHMKICAgIEtFWVNUT05FX0tVVFRMX05BTUVTUEFDRToga2V5c3RvbmUta3V0dGwtdGVzdHMKICAgIEtFWVNUT05FX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9rZXlzdG9uZS1vcGVyYXRvci5naXQKICAgIEtVQkVBRE1JTl9QV0Q6ICcxMjM0NTY3OCcKICAgIExJQlZJUlRfU0VDUkVUOiBsaWJ2aXJ0LXNlY3JldAogICAgTE9LSV9ERVBMT1lfTU9ERTogb3BlbnNoaWZ0LW5ldHdvcmsKICAgIExPS0lfREVQTE9ZX05BTUVTUEFDRTogbmV0b2JzZXJ2CiAgICBMT0tJX0RFUExPWV9TSVpFOiAxeC5kZW1vCiAgICBMT0tJX05BTUVTUEFDRTogb3BlbnNoaWZ0LW9wZXJhdG9ycy1yZWRoYXQKICAgIExPS0lfT1BFUkFUT1JfR1JPVVA6IG9wZW5zaGlmdC1vcGVyYXRvcnMtcmVkaGF0LWxva2kKICAgIExPS0lfU1VCU0NSSVBUSU9OOiBsb2tpLW9wZXJhdG9yCiAgICBMVk1TX0NSOiAnMScKICAgIE1BTklMQTogY29uZmlnL3NhbXBsZXMvbWFuaWxhX3YxYmV0YTFfbWFuaWxhLnlhbWwKICAgIE1BTklMQUFQSV9ERVBMX0lNRzogdW51c2VkCiAgICBNQU5JTEFTQ0hfREVQTF9JTUc6IHVudXNlZAogICAgTUFOSUxBU0hBUkVfREVQTF9JTUc6IHVudXNlZAogICAgTUFOSUxBX0JSQU5DSDogbWFpbgogICAgTUFOSUxBX0NPTU1JVF9IQVNIOiAnJwogICAgTUFOSUxBX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFuaWxhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL21hbmlsYV92MWJldGExX21hbmlsYS55YW1sCiAgICBNQU5JTEFfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL21hbmlsYS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIE1BTklMQV9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFuaWxhLW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgTUFOSUxBX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL21hbmlsYS1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBNQU5JTEFfS1VUVExfTkFNRVNQQUNFOiBtYW5pbGEta3V0dGwtdGVzdHMKICAgIE1BTklMQV9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvbWFuaWxhLW9wZXJhdG9yLmdpdAogICAgTUFOSUxBX1NFUlZJQ0VfRU5BQkxFRDogJ3RydWUnCiAgICBNQVJJQURCOiBjb25maWcvc2FtcGxlcy9tYXJpYWRiX3YxYmV0YTFfZ2FsZXJhLnlhbWwKICAgIE1BUklBREJfQlJBTkNIOiBtYWluCiAgICBNQVJJQURCX0NIQUlOU0FXX0NPTkY6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9tYXJpYWRiLW9wZXJhdG9yL3Rlc3QvY2hhaW5zYXcvY29uZmlnLnlhbWwKICAgIE1BUklBREJfQ0hBSU5TQVdfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFyaWFkYi1vcGVyYXRvci90ZXN0L2NoYWluc2F3L3Rlc3RzCiAgICBNQVJJQURCX0NIQUlOU0FXX05BTUVTUEFDRTogbWFyaWFkYi1jaGFpbnNhdy10ZXN0cwogICAgTUFSSUFEQl9DT01NSVRfSEFTSDogJycKICAgIE1BUklBREJfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9tYXJpYWRiLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL21hcmlhZGJfdjFiZXRhMV9nYWxlcmEueWFtbAogICAgTUFSSUFEQl9ERVBMX0lNRzogdW51c2VkCiAgICBNQVJJQURCX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9tYXJpYWRiLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgTUFSSUFEQl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFyaWFkYi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE1BUklBREJfS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbWFyaWFkYi1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBNQVJJQURCX0tVVFRMX05BTUVTUEFDRTogbWFyaWFkYi1rdXR0bC10ZXN0cwogICAgTUFSSUFEQl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvbWFyaWFkYi1vcGVyYXRvci5naXQKICAgIE1FTUNBQ0hFRDogY29uZmlnL3NhbXBsZXMvbWVtY2FjaGVkX3YxYmV0YTFfbWVtY2FjaGVkLnlhbWwKICAgIE1FTUNBQ0hFRF9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL2luZnJhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL21lbWNhY2hlZF92MWJldGExX21lbWNhY2hlZC55YW1sCiAgICBNRU1DQUNIRURfREVQTF9JTUc6IHVudXNlZAogICAgTUVUQURBVEFfU0hBUkVEX1NFQ1JFVDogJzEyMzQ1Njc4NDInCiAgICBNRVRBTExCX0lQVjZfUE9PTDogZmQwMDphYWFhOjo4MC1mZDAwOmFhYWE6OjkwCiAgICBNRVRBTExCX1BPT0w6IDE5Mi4xNjguMTIyLjgwLTE5Mi4xNjguMTIyLjkwCiAgICBNSUNST1NISUZUOiAnMCcKICAgIE5BTUVTUEFDRTogb3BlbnN0YWNrCiAgICBORVRDT05GSUc6IGNvbmZpZy9zYW1wbGVzL25ldHdvcmtfdjFiZXRhMV9uZXRjb25maWcueWFtbAogICAgTkVUQ09ORklHX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvaW5mcmEtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvbmV0d29ya192MWJldGExX25ldGNvbmZpZy55YW1sCiAgICBORVRDT05GSUdfREVQTF9JTUc6IHVudXNlZAogICAgTkVUT0JTRVJWX0RFUExPWV9OQU1FU1BBQ0U6IG5ldG9ic2VydgogICAgTkVUT0JTRVJWX05BTUVTUEFDRTogb3BlbnNoaWZ0LW5ldG9ic2Vydi1vcGVyYXRvcgogICAgTkVUT0JTRVJWX09QRVJBVE9SX0dST1VQOiBvcGVuc2hpZnQtbmV0b2JzZXJ2LW9wZXJhdG9yLW5ldAogICAgTkVUT0JTRVJWX1NVQlNDUklQVElPTjogbmV0b2JzZXJ2LW9wZXJhdG9yCiAgICBORVRXT1JLX0JHUDogJ2ZhbHNlJwogICAgTkVUV09SS19ERVNJR05BVEVfQUREUkVTU19QUkVGSVg6IDE3Mi4yOC4wCiAgICBORVRXT1JLX0RFU0lHTkFURV9FWFRfQUREUkVTU19QUkVGSVg6IDE3Mi41MC4wCiAgICBORVRXT1JLX0lOVEVSTkFMQVBJX0FERFJFU1NfUFJFRklYOiAxNzIuMTcuMAogICAgTkVUV09SS19JU09MQVRJT046ICd0cnVlJwogICAgTkVUV09SS19JU09MQVRJT05fSU5TVEFOQ0VfTkFNRTogY3JjCiAgICBORVRXT1JLX0lTT0xBVElPTl9JUFY0OiAndHJ1ZScKICAgIE5FVFdPUktfSVNPTEFUSU9OX0lQVjRfQUREUkVTUzogMTcyLjE2LjEuMS8yNAogICAgTkVUV09SS19JU09MQVRJT05fSVBWNF9OQVQ6ICd0cnVlJwogICAgTkVUV09SS19JU09MQVRJT05fSVBWNjogJ2ZhbHNlJwogICAgTkVUV09SS19JU09MQVRJT05fSVBWNl9BRERSRVNTOiBmZDAwOmFhYWE6OjEvNjQKICAgIE5FVFdPUktfSVNPTEFUSU9OX0lQX0FERFJFU1M6IDE5Mi4xNjguMTIyLjEwCiAgICBORVRXT1JLX0lTT0xBVElPTl9NQUM6ICc1Mjo1NDowMDoxMToxMToxMCcKICAgIE5FVFdPUktfSVNPTEFUSU9OX05FVFdPUktfTkFNRTogbmV0LWlzbwogICAgTkVUV09SS19JU09MQVRJT05fTkVUX05BTUU6IGRlZmF1bHQKICAgIE5FVFdPUktfSVNPTEFUSU9OX1VTRV9ERUZBVUxUX05FVFdPUks6ICd0cnVlJwogICAgTkVUV09SS19NVFU6ICcxNTAwJwogICAgTkVUV09SS19TVE9SQUdFTUdNVF9BRERSRVNTX1BSRUZJWDogMTcyLjIwLjAKICAgIE5FVFdPUktfU1RPUkFHRV9BRERSRVNTX1BSRUZJWDogMTcyLjE4LjAKICAgIE5FVFdPUktfU1RPUkFHRV9NQUNWTEFOOiAnJwogICAgTkVUV09SS19URU5BTlRfQUREUkVTU19QUkVGSVg6IDE3Mi4xOS4wCiAgICBORVRXT1JLX1ZMQU5fU1RBUlQ6ICcyMCcKICAgIE5FVFdPUktfVkxBTl9TVEVQOiAnMScKICAgIE5FVVRST05BUEk6IGNvbmZpZy9zYW1wbGVzL25ldXRyb25fdjFiZXRhMV9uZXV0cm9uYXBpLnlhbWwKICAgIE5FVVRST05BUElfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9uZXV0cm9uLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL25ldXRyb25fdjFiZXRhMV9uZXV0cm9uYXBpLnlhbWwKICAgIE5FVVRST05BUElfREVQTF9JTUc6IHVudXNlZAogICAgTkVVVFJPTl9CUkFOQ0g6IG1haW4KICAgIE5FVVRST05fQ09NTUlUX0hBU0g6ICcnCiAgICBORVVUUk9OX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9uZXV0cm9uLW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgTkVVVFJPTl9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbmV1dHJvbi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE5FVVRST05fS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvbmV1dHJvbi1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBORVVUUk9OX0tVVFRMX05BTUVTUEFDRTogbmV1dHJvbi1rdXR0bC10ZXN0cwogICAgTkVVVFJPTl9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvbmV1dHJvbi1vcGVyYXRvci5naXQKICAgIE5GU19IT01FOiAvaG9tZS9uZnMKICAgIE5NU1RBVEVfTkFNRVNQQUNFOiBvcGVuc2hpZnQtbm1zdGF0ZQogICAgTk1TVEFURV9PUEVSQVRPUl9HUk9VUDogb3BlbnNoaWZ0LW5tc3RhdGUtdG42azgKICAgIE5NU1RBVEVfU1VCU0NSSVBUSU9OOiBrdWJlcm5ldGVzLW5tc3RhdGUtb3BlcmF0b3IKICAgIE5OQ1BfQURESVRJT05BTF9IT1NUX1JPVVRFUzogJycKICAgIE5OQ1BfQkdQXzFfSU5URVJGQUNFOiBlbnA3czAKICAgIE5OQ1BfQkdQXzFfSVBfQUREUkVTUzogMTAwLjY1LjQuMgogICAgTk5DUF9CR1BfMl9JTlRFUkZBQ0U6IGVucDhzMAogICAgTk5DUF9CR1BfMl9JUF9BRERSRVNTOiAxMDAuNjQuNC4yCiAgICBOTkNQX0JSSURHRTogb3NwYnIKICAgIE5OQ1BfQ0xFQU5VUF9USU1FT1VUOiAxMjBzCiAgICBOTkNQX0NUTFBMQU5FX0lQVjZfQUREUkVTU19QUkVGSVg6ICdmZDAwOmFhYWE6OicKICAgIE5OQ1BfQ1RMUExBTkVfSVBWNl9BRERSRVNTX1NVRkZJWDogJzEwJwogICAgTk5DUF9DVExQTEFORV9JUF9BRERSRVNTX1BSRUZJWDogMTkyLjE2OC4xMjIKICAgIE5OQ1BfQ1RMUExBTkVfSVBfQUREUkVTU19TVUZGSVg6ICcxMCcKICAgIE5OQ1BfRE5TX1NFUlZFUjogMTkyLjE2OC4xMjIuMQogICAgTk5DUF9ETlNfU0VSVkVSX0lQVjY6IGZkMDA6YWFhYTo6MQogICAgTk5DUF9HQVRFV0FZOiAxOTIuMTY4LjEyMi4xCiAgICBOTkNQX0dBVEVXQVlfSVBWNjogZmQwMDphYWFhOjoxCiAgICBOTkNQX0lOVEVSRkFDRTogZW5wNnMwCiAgICBOTkNQX05PREVTOiAnJwogICAgTk5DUF9USU1FT1VUOiAyNDBzCiAgICBOT1ZBOiBjb25maWcvc2FtcGxlcy9ub3ZhX3YxYmV0YTFfbm92YV9jb2xsYXBzZWRfY2VsbC55YW1sCiAgICBOT1ZBX0JSQU5DSDogbWFpbgogICAgTk9WQV9DT01NSVRfSEFTSDogJycKICAgIE5PVkFfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9ub3ZhLW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL25vdmFfdjFiZXRhMV9ub3ZhX2NvbGxhcHNlZF9jZWxsLnlhbWwKICAgIE5PVkFfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL25vdmEtb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBOT1ZBX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9ub3ZhLW9wZXJhdG9yLmdpdAogICAgTlVNQkVSX09GX0lOU1RBTkNFUzogJzEnCiAgICBPQ1BfTkVUV09SS19OQU1FOiBjcmMKICAgIE9DVEFWSUE6IGNvbmZpZy9zYW1wbGVzL29jdGF2aWFfdjFiZXRhMV9vY3RhdmlhLnlhbWwKICAgIE9DVEFWSUFfQlJBTkNIOiBtYWluCiAgICBPQ1RBVklBX0NPTU1JVF9IQVNIOiAnJwogICAgT0NUQVZJQV9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29jdGF2aWEtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvb2N0YXZpYV92MWJldGExX29jdGF2aWEueWFtbAogICAgT0NUQVZJQV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb2N0YXZpYS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIE9DVEFWSUFfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29jdGF2aWEtb3BlcmF0b3Iva3V0dGwtdGVzdC55YW1sCiAgICBPQ1RBVklBX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29jdGF2aWEtb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgT0NUQVZJQV9LVVRUTF9OQU1FU1BBQ0U6IG9jdGF2aWEta3V0dGwtdGVzdHMKICAgIE9DVEFWSUFfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29jdGF2aWEtb3BlcmF0b3IuZ2l0CiAgICBPS0Q6ICdmYWxzZScKICAgIE9QRU5TVEFDS19CUkFOQ0g6IG1haW4KICAgIE9QRU5TVEFDS19CVU5ETEVfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1vcGVyYXRvci1idW5kbGU6bGF0ZXN0CiAgICBPUEVOU1RBQ0tfQ09NTUlUX0hBU0g6ICcnCiAgICBPUEVOU1RBQ0tfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vcGVuc3RhY2stb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvY29yZV92MWJldGExX29wZW5zdGFja2NvbnRyb2xwbGFuZV9nYWxlcmFfbmV0d29ya19pc29sYXRpb24ueWFtbAogICAgT1BFTlNUQUNLX0NSRFNfRElSOiBvcGVuc3RhY2tfY3JkcwogICAgT1BFTlNUQUNLX0NUTFBMQU5FOiBjb25maWcvc2FtcGxlcy9jb3JlX3YxYmV0YTFfb3BlbnN0YWNrY29udHJvbHBsYW5lX2dhbGVyYV9uZXR3b3JrX2lzb2xhdGlvbi55YW1sCiAgICBPUEVOU1RBQ0tfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL29wZW5zdGFjay1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIE9QRU5TVEFDS19LOFNfQlJBTkNIOiBtYWluCiAgICBPUEVOU1RBQ0tfSzhTX1RBRzogbGF0ZXN0CiAgICBPUEVOU1RBQ0tfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL29wZW5zdGFjay1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE9QRU5TVEFDS19LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vcGVuc3RhY2stb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgT1BFTlNUQUNLX0tVVFRMX05BTUVTUEFDRTogb3BlbnN0YWNrLWt1dHRsLXRlc3RzCiAgICBPUEVOU1RBQ0tfTkVVVFJPTl9DVVNUT01fQ09ORjogJycKICAgIE9QRU5TVEFDS19SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvb3BlbnN0YWNrLW9wZXJhdG9yLmdpdAogICAgT1BFTlNUQUNLX1NUT1JBR0VfQlVORExFX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9vcGVuc3RhY2stb3BlcmF0b3Itc3RvcmFnZS1idW5kbGU6bGF0ZXN0CiAgICBPUEVSQVRPUl9CQVNFX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yCiAgICBPUEVSQVRPUl9DSEFOTkVMOiAnJwogICAgT1BFUkFUT1JfTkFNRVNQQUNFOiBvcGVuc3RhY2stb3BlcmF0b3JzCiAgICBPUEVSQVRPUl9TT1VSQ0U6ICcnCiAgICBPUEVSQVRPUl9TT1VSQ0VfTkFNRVNQQUNFOiAnJwogICAgT1VUOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMKICAgIE9VVFBVVF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL2VkcG0KICAgIE9WTkNPTlRST0xMRVI6IGNvbmZpZy9zYW1wbGVzL292bl92MWJldGExX292bmNvbnRyb2xsZXIueWFtbAogICAgT1ZOQ09OVFJPTExFUl9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL292bi1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9vdm5fdjFiZXRhMV9vdm5jb250cm9sbGVyLnlhbWwKICAgIE9WTkNPTlRST0xMRVJfTk1BUDogJ3RydWUnCiAgICBPVk5EQlM6IGNvbmZpZy9zYW1wbGVzL292bl92MWJldGExX292bmRiY2x1c3Rlci55YW1sCiAgICBPVk5EQlNfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vdm4tb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvb3ZuX3YxYmV0YTFfb3ZuZGJjbHVzdGVyLnlhbWwKICAgIE9WTk5PUlRIRDogY29uZmlnL3NhbXBsZXMvb3ZuX3YxYmV0YTFfb3Zubm9ydGhkLnlhbWwKICAgIE9WTk5PUlRIRF9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL292bi1vcGVyYXRvci9jb25maWcvc2FtcGxlcy9vdm5fdjFiZXRhMV9vdm5ub3J0aGQueWFtbAogICAgT1ZOX0JSQU5DSDogbWFpbgogICAgT1ZOX0NPTU1JVF9IQVNIOiAnJwogICAgT1ZOX0lNRzogcXVheS5pby9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9vdm4tb3BlcmF0b3ItaW5kZXg6bGF0ZXN0CiAgICBPVk5fS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL292bi1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIE9WTl9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9vdm4tb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgT1ZOX0tVVFRMX05BTUVTUEFDRTogb3ZuLWt1dHRsLXRlc3RzCiAgICBPVk5fUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL292bi1vcGVyYXRvci5naXQKICAgIFBBU1NXT1JEOiAnMTIzNDU2NzgnCiAgICBQTEFDRU1FTlRBUEk6IGNvbmZpZy9zYW1wbGVzL3BsYWNlbWVudF92MWJldGExX3BsYWNlbWVudGFwaS55YW1sCiAgICBQTEFDRU1FTlRBUElfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9wbGFjZW1lbnQtb3BlcmF0b3IvY29uZmlnL3NhbXBsZXMvcGxhY2VtZW50X3YxYmV0YTFfcGxhY2VtZW50YXBpLnlhbWwKICAgIFBMQUNFTUVOVEFQSV9ERVBMX0lNRzogdW51c2VkCiAgICBQTEFDRU1FTlRfQlJBTkNIOiBtYWluCiAgICBQTEFDRU1FTlRfQ09NTUlUX0hBU0g6ICcnCiAgICBQTEFDRU1FTlRfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3BsYWNlbWVudC1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIFBMQUNFTUVOVF9LVVRUTF9DT05GOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvcGxhY2VtZW50LW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgUExBQ0VNRU5UX0tVVFRMX0RJUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3BsYWNlbWVudC1vcGVyYXRvci90ZXN0L2t1dHRsL3Rlc3RzCiAgICBQTEFDRU1FTlRfS1VUVExfTkFNRVNQQUNFOiBwbGFjZW1lbnQta3V0dGwtdGVzdHMKICAgIFBMQUNFTUVOVF9SRVBPOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvcGxhY2VtZW50LW9wZXJhdG9yLmdpdAogICAgUFVMTF9TRUNSRVQ6IC9ob21lL3p1dWwvc3JjL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrL2NpL3BsYXlib29rcy9rdXR0bC9wdWxsLXNlY3JldC50eHQKICAgIFJBQkJJVE1ROiBkb2NzL2V4YW1wbGVzL2RlZmF1bHQtc2VjdXJpdHktY29udGV4dC9yYWJiaXRtcS55YW1sCiAgICBSQUJCSVRNUV9CUkFOQ0g6IHBhdGNoZXMKICAgIFJBQkJJVE1RX0NPTU1JVF9IQVNIOiAnJwogICAgUkFCQklUTVFfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9yYWJiaXRtcS1vcGVyYXRvci9kb2NzL2V4YW1wbGVzL2RlZmF1bHQtc2VjdXJpdHktY29udGV4dC9yYWJiaXRtcS55YW1sCiAgICBSQUJCSVRNUV9ERVBMX0lNRzogdW51c2VkCiAgICBSQUJCSVRNUV9JTUc6IHF1YXkuaW8vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvcmFiYml0bXEtY2x1c3Rlci1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIFJBQkJJVE1RX1JFUE86IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9yYWJiaXRtcS1jbHVzdGVyLW9wZXJhdG9yLmdpdAogICAgUkVESEFUX09QRVJBVE9SUzogJ2ZhbHNlJwogICAgUkVESVM6IGNvbmZpZy9zYW1wbGVzL3JlZGlzX3YxYmV0YTFfcmVkaXMueWFtbAogICAgUkVESVNfQ1I6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci9pbmZyYS1vcGVyYXRvci1yZWRpcy9jb25maWcvc2FtcGxlcy9yZWRpc192MWJldGExX3JlZGlzLnlhbWwKICAgIFJFRElTX0RFUExfSU1HOiB1bnVzZWQKICAgIFJIX1JFR0lTVFJZX1BXRDogJycKICAgIFJIX1JFR0lTVFJZX1VTRVI6ICcnCiAgICBTRUNSRVQ6IG9zcC1zZWNyZXQKICAgIFNHX0NPUkVfREVQTF9JTUc6IHVudXNlZAogICAgU1RBTkRBTE9ORV9DT01QVVRFX0RSSVZFUjogbGlidmlydAogICAgU1RBTkRBTE9ORV9FWFRFUk5BTF9ORVRfUFJFRkZJWDogMTcyLjIxLjAKICAgIFNUQU5EQUxPTkVfSU5URVJOQUxBUElfTkVUX1BSRUZJWDogMTcyLjE3LjAKICAgIFNUQU5EQUxPTkVfU1RPUkFHRU1HTVRfTkVUX1BSRUZJWDogMTcyLjIwLjAKICAgIFNUQU5EQUxPTkVfU1RPUkFHRV9ORVRfUFJFRklYOiAxNzIuMTguMAogICAgU1RBTkRBTE9ORV9URU5BTlRfTkVUX1BSRUZJWDogMTcyLjE5LjAKICAgIFNUT1JBR0VNR01UX0hPU1RfUk9VVEVTOiAnJwogICAgU1RPUkFHRV9DTEFTUzogbG9jYWwtc3RvcmFnZQogICAgU1RPUkFHRV9IT1NUX1JPVVRFUzogJycKICAgIFNXSUZUOiBjb25maWcvc2FtcGxlcy9zd2lmdF92MWJldGExX3N3aWZ0LnlhbWwKICAgIFNXSUZUX0JSQU5DSDogbWFpbgogICAgU1dJRlRfQ09NTUlUX0hBU0g6ICcnCiAgICBTV0lGVF9DUjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3N3aWZ0LW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL3N3aWZ0X3YxYmV0YTFfc3dpZnQueWFtbAogICAgU1dJRlRfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3N3aWZ0LW9wZXJhdG9yLWluZGV4OmxhdGVzdAogICAgU1dJRlRfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3N3aWZ0LW9wZXJhdG9yL2t1dHRsLXRlc3QueWFtbAogICAgU1dJRlRfS1VUVExfRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3Ivc3dpZnQtb3BlcmF0b3IvdGVzdC9rdXR0bC90ZXN0cwogICAgU1dJRlRfS1VUVExfTkFNRVNQQUNFOiBzd2lmdC1rdXR0bC10ZXN0cwogICAgU1dJRlRfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3N3aWZ0LW9wZXJhdG9yLmdpdAogICAgVEVMRU1FVFJZOiBjb25maWcvc2FtcGxlcy90ZWxlbWV0cnlfdjFiZXRhMV90ZWxlbWV0cnkueWFtbAogICAgVEVMRU1FVFJZX0JSQU5DSDogbWFpbgogICAgVEVMRU1FVFJZX0NPTU1JVF9IQVNIOiAnJwogICAgVEVMRU1FVFJZX0NSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvdGVsZW1ldHJ5LW9wZXJhdG9yL2NvbmZpZy9zYW1wbGVzL3RlbGVtZXRyeV92MWJldGExX3RlbGVtZXRyeS55YW1sCiAgICBURUxFTUVUUllfSU1HOiBxdWF5LmlvL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3RlbGVtZXRyeS1vcGVyYXRvci1pbmRleDpsYXRlc3QKICAgIFRFTEVNRVRSWV9LVVRUTF9CQVNFRElSOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMvb3BlcmF0b3IvdGVsZW1ldHJ5LW9wZXJhdG9yCiAgICBURUxFTUVUUllfS1VUVExfQ09ORjogL2hvbWUvenV1bC9jaS1mcmFtZXdvcmstZGF0YS9hcnRpZmFjdHMvbWFuaWZlc3RzL29wZXJhdG9yL3RlbGVtZXRyeS1vcGVyYXRvci9rdXR0bC10ZXN0LnlhbWwKICAgIFRFTEVNRVRSWV9LVVRUTF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL21hbmlmZXN0cy9vcGVyYXRvci90ZWxlbWV0cnktb3BlcmF0b3IvdGVzdC9rdXR0bC9zdWl0ZXMKICAgIFRFTEVNRVRSWV9LVVRUTF9OQU1FU1BBQ0U6IHRlbGVtZXRyeS1rdXR0bC10ZXN0cwogICAgVEVMRU1FVFJZX0tVVFRMX1JFTFBBVEg6IHRlc3Qva3V0dGwvc3VpdGVzCiAgICBURUxFTUVUUllfUkVQTzogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL3RlbGVtZXRyeS1vcGVyYXRvci5naXQKICAgIFRFTkFOVF9IT1NUX1JPVVRFUzogJycKICAgIFRJTUVPVVQ6IDMwMHMKICAgIFRMU19FTkFCTEVEOiAnZmFsc2UnCiAgICB0cmlwbGVvX2RlcGxveTogJ2V4cG9ydCBSRUdJU1RSWV9VU0VSOicKY2lmbXdfaW5zdGFsbF95YW1sc19lbnZpcm9ubWVudDoKICAgIEJNT19TRVRVUDogZmFsc2UKICAgIENIRUNLT1VUX0ZST01fT1BFTlNUQUNLX1JFRjogJ3RydWUnCiAgICBPUEVOU1RBQ0tfSzhTX0JSQU5DSDogbWFpbgogICAgT1VUOiAvaG9tZS96dXVsL2NpLWZyYW1ld29yay1kYXRhL2FydGlmYWN0cy9tYW5pZmVzdHMKICAgIE9VVFBVVF9ESVI6IC9ob21lL3p1dWwvY2ktZnJhbWV3b3JrLWRhdGEvYXJ0aWZhY3RzL2VkcG0K encoding: base64 failed: false source: /home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml cifmw_openshift_login_kubeconfig: /home/zuul/.crc/machines/crc/kubeconfig cifmw_openshift_login_kubeconfig_content_b64: changed: false false_condition: cifmw_openshift_login_user is not defined skip_reason: Conditional result was False skipped: true cifmw_openshift_login_kubeconfig_stat: changed: false failed: false stat: exists: false cifmw_openshift_login_login_out: changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: 'WARNING: Using insecure TLS client config. Setting this option is not supported! Login successful. You have access to 65 projects, the list has been suppressed. You can list all projects with ''oc projects'' Using project "default". ' stdout_lines: - 'WARNING: Using insecure TLS client config. Setting this option is not supported!' - '' - Login successful. - '' - You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' - '' - Using project "default". cifmw_openshift_login_new_token_out: changed: true cmd: - oc - whoami - -t delta: '0:00:00.165590' end: '2025-12-03 11:30:50.642309' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:50.476719' stderr: '' stderr_lines: [] stdout: sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM stdout_lines: - sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM cifmw_openshift_login_password: 12**********89 cifmw_openshift_login_password_file_slurp: changed: false false_condition: cifmw_openshift_password is not defined skip_reason: Conditional result was False skipped: true cifmw_openshift_login_password_file_stat: changed: false false_condition: cifmw_openshift_password is not defined skip_reason: Conditional result was False skipped: true cifmw_openshift_login_retries_cnt: 0 cifmw_openshift_login_token: sh**********qM cifmw_openshift_login_user: kubeadmin cifmw_openshift_login_user_out: changed: true cmd: - oc - whoami delta: '0:00:00.146907' end: '2025-12-03 11:30:51.679875' failed: false msg: '' rc: 0 start: '2025-12-03 11:30:51.532968' stderr: '' stderr_lines: [] stdout: kubeadmin stdout_lines: - kubeadmin cifmw_openshift_login_whoami_out: changed: true cmd: - oc - whoami - -t delta: '0:00:00.138098' end: '2025-12-03 11:30:49.774205' failed: true msg: non-zero return code rc: 1 start: '2025-12-03 11:30:49.636107' stderr: "error: Missing or incomplete configuration info. Please point to an existing, complete config file:\n\n\n 1. Via the command-line flag --kubeconfig\n 2. Via the KUBECONFIG environment variable\n \ 3. In your home directory as ~/.kube/config\n\nTo view or setup config directly use the 'config' command." stderr_lines: - 'error: Missing or incomplete configuration info. Please point to an existing, complete config file:' - '' - '' - ' 1. Via the command-line flag --kubeconfig' - ' 2. Via the KUBECONFIG environment variable' - ' 3. In your home directory as ~/.kube/config' - '' - To view or setup config directly use the 'config' command. stdout: '' stdout_lines: [] cifmw_openshift_password: '12**********89' cifmw_openshift_setup_namespaces: - openstack - openstack-operators cifmw_openshift_setup_podman_login_stdout: changed: false false_condition: not cifmw_openshift_setup_skip_internal_registry | bool skip_reason: Conditional result was False skipped: true cifmw_openshift_setup_registry_default_route: changed: false false_condition: not cifmw_openshift_setup_skip_internal_registry | bool skip_reason: Conditional result was False skipped: true cifmw_openshift_setup_skip_internal_registry: true cifmw_openshift_skip_tls_verify: true cifmw_openshift_token: sha256~SSsYVVMOj2TnXd17o4DElGzKPLor723nyXuhddbKZqM cifmw_openshift_user: kubeadmin cifmw_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 cifmw_project_dir: src/github.com/openstack-k8s-operators/ci-framework cifmw_project_dir_absolute: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework cifmw_repo_setup_commit_hash: null cifmw_repo_setup_dist_major_version: 9 cifmw_repo_setup_distro_hash: null cifmw_repo_setup_dlrn_api_url: https://trunk.rdoproject.org/api-centos9-antelope cifmw_repo_setup_dlrn_url: https://trunk.rdoproject.org/centos9-antelope/current-podified/delorean.repo.md5 cifmw_repo_setup_extended_hash: null cifmw_repo_setup_full_hash: fa2bb8efef6782c26ea7f1675eeb36dd cifmw_repo_setup_os_release: centos cifmw_repo_setup_release: antelope cifmw_run_hook_parameters_files: changed: false examined: 5 failed: false files: - atime: 1764761334.6147957 ctime: 1764761331.0516944 dev: 64513 gid: 1000 gr_name: zuul inode: 79768480 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761330.7286854 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 17537 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3656263 ctime: 1764761453.059239 dev: 64513 gid: 1000 gr_name: zuul inode: 71587043 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.8812337 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 28055 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.3796268 ctime: 1764761406.6458867 dev: 64513 gid: 1000 gr_name: zuul inode: 75555799 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761406.4868822 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml pw_name: zuul rgrp: true roth: true rusr: true size: 2047 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761466.380627 ctime: 1764761452.1852133 dev: 64513 gid: 1000 gr_name: zuul inode: 54941085 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0600' mtime: 1764761452.005208 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml pw_name: zuul rgrp: false roth: false rusr: true size: 280 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false - atime: 1764761467.5396607 ctime: 1764761467.5436609 dev: 64513 gid: 1000 gr_name: zuul inode: 75620867 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mode: '0644' mtime: 1764761467.1656497 nlink: 1 path: /home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml pw_name: zuul rgrp: true roth: true rusr: true size: 116 uid: 1000 wgrp: false woth: false wusr: true xgrp: false xoth: false xusr: false matched: 5 msg: All paths examined skipped_paths: {} cifmw_run_tests: true cifmw_success_flag: changed: false failed: false stat: exists: false cifmw_use_libvirt: false cifmw_zuul_target_host: controller commands_after_kuttl_run: - oc get pv - oc get all commands_before_kuttl_run: - oc get pv - oc get all crc_ci_bootstrap_cloud_name: '{{ nodepool.cloud | replace(''-nodepool-tripleo'','''') }}' crc_ci_bootstrap_networking: instances: controller: networks: default: ip: 192.168.122.11 crc: networks: default: ip: 192.168.122.10 internal-api: ip: 172.17.0.5 storage: ip: 172.18.0.5 tenant: ip: 172.19.0.5 networks: default: mtu: '{{ (''ibm'' in nodepool.cloud) | ternary(''1440'', ''1500'') }}' range: 192.168.122.0/24 router: false router_net: '' transparent: true internal-api: range: 172.17.0.0/24 vlan: 20 storage: range: 172.18.0.0/24 vlan: 21 tenant: range: 172.19.0.0/24 vlan: 22 discovered_image: changed: true data: hash: 75a77d833a2ec47d10d7dfd7dba41dfe3c1be7e7e14ae5ab42563f9fb0e5e2d8 hash_algorithm: sha256 image_name: CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 image_url: https://cloud.centos.org/centos/9-stream/x86_64/images//CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2 error: '' failed: false success: true discovered_interpreter_python: /usr/bin/python3 enable_ramdisk: true extra_vars: -e operator_namespace=openstack-operators -e namespace=openstack -e "@/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml" -e "@/home/zuul/ci-framework-data/artifacts/parameters/pre_kuttl_fetch_crc_facts_and_save_them_.yml" gather_subset: - min get_makefiles_env_output: changed: false error: '' failed: false makefiles_values: ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 ADOPTED_TENANT_NETWORK: 172.9.1.0/24 ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_BRANCH: main ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator ANSIBLEE_COMMIT_HASH: '' BARBICAN: config/samples/barbican_v1beta1_barbican.yaml BARBICAN_BRANCH: main BARBICAN_COMMIT_HASH: '' BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml BARBICAN_DEPL_IMG: unused BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git BARBICAN_SERVICE_ENABLED: 'true' BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sE**********U= BAREMETAL_BRANCH: main BAREMETAL_COMMIT_HASH: '' BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest BAREMETAL_OS_CONTAINER_IMG: '' BAREMETAL_OS_IMG: '' BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git BAREMETAL_TIMEOUT: 20m BASH_IMG: quay.io/openstack-k8s-operators/bash:latest BGP_ASN: '64999' BGP_LEAF_1: 100.65.4.1 BGP_LEAF_2: 100.64.4.1 BGP_OVN_ROUTING: 'false' BGP_PEER_ASN: '64999' BGP_SOURCE_IP: 172.30.4.2 BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 BMAAS_INSTANCE_DISK_SIZE: '20' BMAAS_INSTANCE_MEMORY: '4096' BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas BMAAS_INSTANCE_NET_MODEL: virtio BMAAS_INSTANCE_OS_VARIANT: centos-stream9 BMAAS_INSTANCE_VCPUS: '2' BMAAS_INSTANCE_VIRT_TYPE: kvm BMAAS_IPV4: 'true' BMAAS_IPV6: 'false' BMAAS_LIBVIRT_USER: sushyemu BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 BMAAS_METALLB_POOL_NAME: baremetal BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 BMAAS_NETWORK_NAME: crc-bmaas BMAAS_NODE_COUNT: '1' BMAAS_OCP_INSTANCE_NAME: crc BMAAS_REDFISH_PASSWORD: password BMAAS_REDFISH_USERNAME: admin BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default BMAAS_SUSHY_EMULATOR_DRIVER: libvirt BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack BMH_NAMESPACE: openstack BMO_BRANCH: release-0.9 BMO_CLEANUP: 'true' BMO_COMMIT_HASH: '' BMO_IPA_BRANCH: stable/2024.1 BMO_IRONIC_HOST: 192.168.122.10 BMO_PROVISIONING_INTERFACE: '' BMO_REPO: https://github.com/metal3-io/baremetal-operator BMO_SETUP: '' BMO_SETUP_ROUTE_REPLACE: 'true' BM_CTLPLANE_INTERFACE: enp1s0 BM_INSTANCE_MEMORY: '8192' BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal BM_INSTANCE_NAME_SUFFIX: '0' BM_NETWORK_NAME: default BM_NODE_COUNT: '1' BM_ROOT_PASSWORD: '' BM_ROOT_PASSWORD_SECRET: '' CEILOMETER_CENTRAL_DEPL_IMG: unused CEILOMETER_NOTIFICATION_DEPL_IMG: unused CEPH_BRANCH: release-1.15 CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml CEPH_IMG: quay.io/ceph/demo:latest-squid CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml CEPH_REPO: https://github.com/rook/rook.git CERTMANAGER_TIMEOUT: 300s CHECKOUT_FROM_OPENSTACK_REF: 'true' CINDER: config/samples/cinder_v1beta1_cinder.yaml CINDERAPI_DEPL_IMG: unused CINDERBKP_DEPL_IMG: unused CINDERSCH_DEPL_IMG: unused CINDERVOL_DEPL_IMG: unused CINDER_BRANCH: main CINDER_COMMIT_HASH: '' CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git CLEANUP_DIR_CMD: rm -Rf CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' CRC_HTTPS_PROXY: '' CRC_HTTP_PROXY: '' CRC_STORAGE_NAMESPACE: crc-storage CRC_STORAGE_RETRIES: '3' CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' CRC_VERSION: latest DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret DATAPLANE_ANSIBLE_USER: '' DATAPLANE_COMPUTE_IP: 192.168.122.100 DATAPLANE_CONTAINER_PREFIX: openstack DATAPLANE_CONTAINER_TAG: current-podified DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest DATAPLANE_DEFAULT_GW: 192.168.122.1 DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned DATAPLANE_NETWORKER_IP: 192.168.122.200 DATAPLANE_NETWORK_INTERFACE_NAME: eth0 DATAPLANE_NOVA_NFS_PATH: '' DATAPLANE_NTP_SERVER: pool.ntp.org DATAPLANE_PLAYBOOK: osp.edpm.download_cache DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 DATAPLANE_RUNNER_IMG: '' DATAPLANE_SERVER_ROLE: compute DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' DATAPLANE_TIMEOUT: 30m DATAPLANE_TLS_ENABLED: 'true' DATAPLANE_TOTAL_NETWORKER_NODES: '1' DATAPLANE_TOTAL_NODES: '1' DBSERVICE: galera DESIGNATE: config/samples/designate_v1beta1_designate.yaml DESIGNATE_BRANCH: main DESIGNATE_COMMIT_HASH: '' DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git DNSDATA: config/samples/network_v1beta1_dnsdata.yaml DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml DNS_DEPL_IMG: unused DNS_DOMAIN: localdomain DOWNLOAD_TOOLS_SELECTION: all EDPM_ATTACH_EXTNET: 'true' EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' EDPM_COMPUTE_CELLS: '1' EDPM_COMPUTE_CEPH_ENABLED: 'true' EDPM_COMPUTE_CEPH_NOVA: 'true' EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' EDPM_COMPUTE_SRIOV_ENABLED: 'true' EDPM_COMPUTE_SUFFIX: '0' EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' EDPM_CONFIGURE_HUGEPAGES: 'false' EDPM_CONFIGURE_NETWORKING: 'true' EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra EDPM_NETWORKER_SUFFIX: '0' EDPM_TOTAL_NETWORKERS: '1' EDPM_TOTAL_NODES: '1' GALERA_REPLICAS: '' GENERATE_SSH_KEYS: 'true' GIT_CLONE_OPTS: '' GLANCE: config/samples/glance_v1beta1_glance.yaml GLANCEAPI_DEPL_IMG: unused GLANCE_BRANCH: main GLANCE_COMMIT_HASH: '' GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git HEAT: config/samples/heat_v1beta1_heat.yaml HEATAPI_DEPL_IMG: unused HEATCFNAPI_DEPL_IMG: unused HEATENGINE_DEPL_IMG: unused HEAT_AUTH_ENCRYPTION_KEY: 76**********f0 HEAT_BRANCH: main HEAT_COMMIT_HASH: '' HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests HEAT_KUTTL_NAMESPACE: heat-kuttl-tests HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git HEAT_SERVICE_ENABLED: 'true' HORIZON: config/samples/horizon_v1beta1_horizon.yaml HORIZON_BRANCH: main HORIZON_COMMIT_HASH: '' HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml HORIZON_DEPL_IMG: unused HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git INFRA_BRANCH: main INFRA_COMMIT_HASH: '' INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests INFRA_KUTTL_NAMESPACE: infra-kuttl-tests INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git INSTALL_CERT_MANAGER: 'true' INSTALL_NMSTATE: true || false INSTALL_NNCP: true || false INTERNALAPI_HOST_ROUTES: '' IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 IPV6_LAB_LIBVIRT_STORAGE_POOL: default IPV6_LAB_MANAGE_FIREWALLD: 'true' IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' IPV6_LAB_NETWORK_NAME: nat64 IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 IPV6_LAB_SNO_HOST_PREFIX: '64' IPV6_LAB_SNO_INSTANCE_NAME: sno IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp IPV6_LAB_SNO_OCP_VERSION: latest-4.14 IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab IRONIC: config/samples/ironic_v1beta1_ironic.yaml IRONICAPI_DEPL_IMG: unused IRONICCON_DEPL_IMG: unused IRONICINS_DEPL_IMG: unused IRONICNAG_DEPL_IMG: unused IRONICPXE_DEPL_IMG: unused IRONIC_BRANCH: main IRONIC_COMMIT_HASH: '' IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml IRONIC_IMAGE_TAG: release-24.1 IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_DEPL_IMG: unused KEYSTONE_BRANCH: main KEYSTONE_COMMIT_HASH: '' KEYSTONE_FEDERATION_CLIENT_SECRET: CO**********6f KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests KEYSTONE_REPO: https://github.com/openstack-k8s-operators/keystone-operator.git KUBEADMIN_PWD: '12345678' LIBVIRT_SECRET: libvirt-secret LOKI_DEPLOY_MODE: openshift-network LOKI_DEPLOY_NAMESPACE: netobserv LOKI_DEPLOY_SIZE: 1x.demo LOKI_NAMESPACE: openshift-operators-redhat LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki LOKI_SUBSCRIPTION: loki-operator LVMS_CR: '1' MANILA: config/samples/manila_v1beta1_manila.yaml MANILAAPI_DEPL_IMG: unused MANILASCH_DEPL_IMG: unused MANILASHARE_DEPL_IMG: unused MANILA_BRANCH: main MANILA_COMMIT_HASH: '' MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests MANILA_KUTTL_NAMESPACE: manila-kuttl-tests MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git MANILA_SERVICE_ENABLED: 'true' MARIADB: config/samples/mariadb_v1beta1_galera.yaml MARIADB_BRANCH: main MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests MARIADB_COMMIT_HASH: '' MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml MARIADB_DEPL_IMG: unused MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_DEPL_IMG: unused METADATA_SHARED_SECRET: '12**********42' METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 METALLB_POOL: 192.168.122.80-192.168.122.90 MICROSHIFT: '0' NAMESPACE: openstack NETCONFIG: config/samples/network_v1beta1_netconfig.yaml NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml NETCONFIG_DEPL_IMG: unused NETOBSERV_DEPLOY_NAMESPACE: netobserv NETOBSERV_NAMESPACE: openshift-netobserv-operator NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net NETOBSERV_SUBSCRIPTION: netobserv-operator NETWORK_BGP: 'false' NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 NETWORK_ISOLATION: 'true' NETWORK_ISOLATION_INSTANCE_NAME: crc NETWORK_ISOLATION_IPV4: 'true' NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 NETWORK_ISOLATION_IPV4_NAT: 'true' NETWORK_ISOLATION_IPV6: 'false' NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' NETWORK_ISOLATION_NETWORK_NAME: net-iso NETWORK_ISOLATION_NET_NAME: default NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' NETWORK_MTU: '1500' NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 NETWORK_STORAGE_MACVLAN: '' NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 NETWORK_VLAN_START: '20' NETWORK_VLAN_STEP: '1' NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_DEPL_IMG: unused NEUTRON_BRANCH: main NEUTRON_COMMIT_HASH: '' NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git NFS_HOME: /home/nfs NMSTATE_NAMESPACE: openshift-nmstate NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator NNCP_ADDITIONAL_HOST_ROUTES: '' NNCP_BGP_1_INTERFACE: enp7s0 NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 NNCP_BGP_2_INTERFACE: enp8s0 NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 NNCP_BRIDGE: ospbr NNCP_CLEANUP_TIMEOUT: 120s NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' NNCP_DNS_SERVER: 192.168.122.1 NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 NNCP_GATEWAY: 192.168.122.1 NNCP_GATEWAY_IPV6: fd00:aaaa::1 NNCP_INTERFACE: enp6s0 NNCP_NODES: '' NNCP_TIMEOUT: 240s NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_BRANCH: main NOVA_COMMIT_HASH: '' NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git NUMBER_OF_INSTANCES: '1' OCP_NETWORK_NAME: crc OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_BRANCH: main OCTAVIA_COMMIT_HASH: '' OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git OKD: 'false' OPENSTACK_BRANCH: main OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest OPENSTACK_COMMIT_HASH: '' OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_CRDS_DIR: openstack_crds OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest OPENSTACK_K8S_BRANCH: main OPENSTACK_K8S_TAG: latest OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests OPENSTACK_NEUTRON_CUSTOM_CONF: '' OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator OPERATOR_CHANNEL: '' OPERATOR_NAMESPACE: openstack-operators OPERATOR_SOURCE: '' OPERATOR_SOURCE_NAMESPACE: '' OUT: /home/zuul/ci-framework-data/artifacts/manifests OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_NMAP: 'true' OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml OVN_BRANCH: main OVN_COMMIT_HASH: '' OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests OVN_KUTTL_NAMESPACE: ovn-kuttl-tests OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git PASSWORD: '12**********78' PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_DEPL_IMG: unused PLACEMENT_BRANCH: main PLACEMENT_COMMIT_HASH: '' PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_BRANCH: patches RABBITMQ_COMMIT_HASH: '' RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_DEPL_IMG: unused RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git REDHAT_OPERATORS: 'false' REDIS: config/samples/redis_v1beta1_redis.yaml REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml REDIS_DEPL_IMG: unused RH_REGISTRY_PWD: '' RH_REGISTRY_USER: '' SECRET: os**********et SG_CORE_DEPL_IMG: unused STANDALONE_COMPUTE_DRIVER: libvirt STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 STANDALONE_STORAGE_NET_PREFIX: 172.18.0 STANDALONE_TENANT_NET_PREFIX: 172.19.0 STORAGEMGMT_HOST_ROUTES: '' STORAGE_CLASS: local-storage STORAGE_HOST_ROUTES: '' SWIFT: config/samples/swift_v1beta1_swift.yaml SWIFT_BRANCH: main SWIFT_COMMIT_HASH: '' SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_BRANCH: main TELEMETRY_COMMIT_HASH: '' TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: test/kuttl/suites TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git TENANT_HOST_ROUTES: '' TIMEOUT: 300s TLS_ENABLED: 'false' tripleo_deploy: 'export REGISTRY_USER:' group_names: - ungrouped groups: all: - controller - crc - localhost computes: [] ocps: - crc ungrouped: *id001 zuul_unreachable: [] hook_callback: changed: false failed: false stat: exists: false hook_name: fetch_crc_facts_and_save_them_ hook_result: changed: false false_condition: hook.hook_retry | default(false) skip_reason: Conditional result was False skipped: true inventory_dir: /home/zuul/ci-framework-data/artifacts inventory_file: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml inventory_hostname: localhost inventory_hostname_short: localhost log_path: /home/zuul/ci-framework-data/logs/pre_kuttl_fetch_crc_facts_and_save_them_.log logfiles_dest_dir: /home/zuul/ci-framework-data/logs/2025-12-03_13-47 make_barbican_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_barbican_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nbash scripts/validate-marketplace.sh\n+ '[' -z 500s ']'\n+ OPERATOR_NAMESPACE=openshift-marketplace\n++ oc get pods --no-headers -n openshift-marketplace\n++ grep -viE 'running|completed'\n+ not_running_pods=\n+ '[' -z '' ']'\n+ echo 'All openshift-marketplace pods seems to me fine'\nAll openshift-marketplace pods seems to me fine\n+ OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator'\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep openshift-cert-manager-operator\nopenshift-cert-manager-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep kubernetes-nmstate-operator\nkubernetes-nmstate-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep metallb-operator\nmetallb-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nmetallb-system Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator unchanged\nsubscription.operators.coreos.com/metallb-operator-sub unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nmetallb-operator-controller-manager-b9dd667db-j4qd7 \ 1/1 Running 0 99m\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj \ 1/1 Running 0 99m\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nspeaker-56dnr 2/2 Running 0 98m\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z barbican-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml\nnamespace/barbican-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nbarbican-kuttl-tests Active\noc project barbican-kuttl-tests\nNow using project \"barbican-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in barbican-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/mariadb-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator\nCloning into 'openstack-operator'...\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning into 'mariadb-operator'...\nRunning checkout: git checkout 3989cc50de31\nNote: switching to '3989cc50de31'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\n+ oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 1ff40691b66d\nNote: switching to '1ff40691b66d'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z Memcached ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\n+ oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nbash -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z RabbitmqCluster ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\n+ oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator\nCloning into 'keystone-operator'...\nRunning checkout: git checkout 8b3a77972a77\nNote: switching to '8b3a77972a77'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z KeystoneAPI ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\n+ oc apply -f -\nkeystoneapi.keystone.openstack.org/keystone created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' -z quay.io/openstack-k8s-operators/barbican-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=barbican-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE barbican-operator-index\nOPERATOR_SOURCE barbican-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\ncatalogsource.operators.coreos.com/barbican-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/barbican-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/barbican-operator.git barbican-operator\nCloning into 'barbican-operator'...\nRunning checkout: git checkout f489fa5ceb3c\nNote: switching to 'f489fa5ceb3c'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at f489fa5 Merge pull request #312 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z Barbican ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Barbican == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Barbican == OpenStackControlPlane ']'\n+ '[' Barbican == Galera ']'\n+ '[' Barbican == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Barbican == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Barbican == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./barbican_v1beta1_barbican.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./barbican_v1beta1_barbican.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake barbican_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nBARBICAN_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests --namespace barbican-kuttl-tests \n2025/12/03 13:17:16 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 180 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests has 2 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/barbican_scale\n=== PAUSE kuttl/harness/barbican_scale\n=== RUN kuttl/harness/barbican_tls\n=== PAUSE kuttl/harness/barbican_tls\n=== CONT kuttl/harness/barbican_scale\n \ logger.go:42: 13:17:16 | barbican_scale | Ignoring deploy as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 13:17:16 | barbican_scale | Skipping creation of user-supplied namespace: barbican-kuttl-tests\n logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | starting test step 1-deploy-barbican\n \ logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | running command: [sh -c cp ../../../../config/samples/barbican_v1beta1_barbican.*yaml deploy\n oc kustomize deploy | oc apply -n $NAMESPACE -f -\n \ ]\n logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | barbican.barbican.openstack.org/barbican created\n logger.go:42: 13:17:54 | barbican_scale/1-deploy-barbican | test step completed 1-deploy-barbican\n logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | starting test step 2-scale-barbican\n logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanAPI/replicas\", \"value\":2}]'\n oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanKeystoneListener/replicas\", \"value\":2}]'\n oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanWorker/replicas\", \"value\":2}]'\n ]\n logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:56 | barbican_scale/2-scale-barbican | test step completed 2-scale-barbican\n \ logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | starting test step 3-scale-down-barbican\n logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanAPI/replicas\", \"value\":1}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanKeystoneListener/replicas\", \"value\":1}]'\n oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanWorker/replicas\", \"value\":1}]'\n ]\n logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:57 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:58 | barbican_scale/3-scale-down-barbican | test step completed 3-scale-down-barbican\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | starting test step 4-scale-down-zero-barbican\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanAPI/replicas\", \"value\":0}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanKeystoneListener/replicas\", \"value\":0}]'\n oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanWorker/replicas\", \"value\":0}]'\n ]\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:59 | barbican_scale/4-scale-down-zero-barbican | test step completed 4-scale-down-zero-barbican\n logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | starting test step 5-cleanup-barbican\n logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | running command: [sh -c oc kustomize deploy | oc delete -n $NAMESPACE -f -\n rm deploy/barbican_v1beta1_barbican.yaml\n \ ]\n logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | barbican.barbican.openstack.org \"barbican\" deleted\n logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | test step completed 5-cleanup-barbican\n logger.go:42: 13:18:00 | barbican_scale | skipping kubernetes event logging\n=== CONT kuttl/harness/barbican_tls\n \ logger.go:42: 13:18:00 | barbican_tls | Ignoring kustomization.yaml as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 13:18:00 | barbican_tls | Skipping creation of user-supplied namespace: barbican-kuttl-tests\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********le created\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created\n \ logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | starting test step 1-deploy_barbican\n \ logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | barbican.barbican.openstack.org/barbican created\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:02 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:03 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:08 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:09 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:15 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:16 | barbican_tls/1-deploy_barbican | test step completed 1-deploy_barbican\n \ logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | starting test step 5-cleanup-barbican\n logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc delete -n $NAMESPACE -f -\n ]\n logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | barbican.barbican.openstack.org \"barbican\" deleted\n logger.go:42: 13:18:29 | barbican_tls/5-cleanup-barbican | test step completed 5-cleanup-barbican\n logger.go:42: 13:18:29 | barbican_tls | skipping kubernetes event logging\n=== NAME kuttl\n \ harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (73.68s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/barbican_scale (44.09s)\n --- PASS: kuttl/harness/barbican_tls (29.57s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z barbican-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml\nnamespace/barbican-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nbarbican-kuttl-tests Active\noc project barbican-kuttl-tests\nNow using project \"barbican-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nkeystoneapi.keystone.openstack.org \"keystone\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\ngalera.mariadb.openstack.org \"openstack\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nmemcached.memcached.openstack.org \"memcached\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNAME ALLREPLICASREADY RECONCILESUCCESS AGE\nrabbitmq \ True True 3m7s\nrabbitmqcluster.rabbitmq.com \"rabbitmq\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake barbican_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep barbican\n+ CSV=barbican-operator.v0.0.1\n+ '[' -n barbican-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv barbican-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"barbican-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription barbican-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"barbican-operator\" deleted\n+ oc delete -n openstack-operators catalogsource barbican-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"barbican-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake kuttl_common_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep keystone\n+ CSV=keystone-operator.v0.0.1\n+ '[' -n keystone-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"keystone-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"keystone-operator\" deleted\n+ oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"keystone-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep rabbitmq-cluster\n+ CSV=rabbitmq-cluster-operator.v0.0.1\n+ '[' -n rabbitmq-cluster-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"rabbitmq-cluster-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"rabbitmq-cluster-operator\" deleted\n+ oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"rabbitmq-cluster-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z barbican-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml\nnamespace/barbican-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nbarbican-kuttl-tests Active\noc project barbican-kuttl-tests\nAlready on project \"barbican-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep infra\n+ CSV=infra-operator.v0.0.1\n+ '[' -n infra-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"infra-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"infra-operator\" deleted\n+ oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"infra-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep mariadb\n+ CSV=mariadb-operator.v0.0.1\n+ '[' -n mariadb-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"mariadb-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"mariadb-operator\" deleted\n+ oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"mariadb-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc delete --ignore-not-found=true -f -\nsecret \"libvirt-secret\" deleted\nsecret \"octavia-ca-passphrase\" deleted\nsecret \"osp-secret\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z metallb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep metallb\n+ CSV=metallb-operator.v4.18.0-202511181540\n+ '[' -n metallb-operator.v4.18.0-202511181540 ']'\n+ oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"metallb-operator.v4.18.0-202511181540\" deleted\n+ oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true\n+ oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/restore-namespace.sh\nNow using project \"openstack\" on server \"https://api.crc.testing:6443\".\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - bash scripts/validate-marketplace.sh - + '[' -z 500s ']' - + OPERATOR_NAMESPACE=openshift-marketplace - ++ oc get pods --no-headers -n openshift-marketplace - ++ grep -viE 'running|completed' - + not_running_pods= - + '[' -z '' ']' - + echo 'All openshift-marketplace pods seems to me fine' - All openshift-marketplace pods seems to me fine - + OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator' - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep openshift-cert-manager-operator - openshift-cert-manager-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep kubernetes-nmstate-operator - kubernetes-nmstate-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep metallb-operator - metallb-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator unchanged - subscription.operators.coreos.com/metallb-operator-sub unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - metallb-operator-controller-manager-b9dd667db-j4qd7 1/1 Running 0 99m - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 99m - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - speaker-56dnr 2/2 Running 0 98m - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z barbican-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml - namespace/barbican-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - barbican-kuttl-tests Active - oc project barbican-kuttl-tests - Now using project "barbican-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z barbican-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in barbican-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=mariadb-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE mariadb-operator-index - OPERATOR_SOURCE mariadb-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - catalogsource.operators.coreos.com/mariadb-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/mariadb-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator' - Cloning into 'openstack-operator'... - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator' - Cloning into 'mariadb-operator'... - 'Running checkout: git checkout 3989cc50de31' - 'Note: switching to ''3989cc50de31''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z Galera ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Galera == OpenStackControlPlane ']' - + '[' Galera == Galera ']' - + cat - + '[' Galera == NetConfig ']' - + '[' -n '' ']' - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./mariadb_v1beta1_galera.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - + oc apply -f - - galera.mariadb.openstack.org/openstack created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=infra-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE infra-operator-index - OPERATOR_SOURCE infra-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - catalogsource.operators.coreos.com/infra-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/infra-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator' - Cloning into 'infra-operator'... - 'Running checkout: git checkout 1ff40691b66d' - 'Note: switching to ''1ff40691b66d''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z Memcached ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n memcached ']' - + cat - + '[' Memcached == OpenStackControlPlane ']' - + '[' Memcached == Galera ']' - + '[' Memcached == NetConfig ']' - + '[' -n '' ']' - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./memcached_v1beta1_memcached.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - + oc apply -f - - memcached.memcached.openstack.org/memcached created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index - OPERATOR_SOURCE rabbitmq-cluster-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/rabbitmq-cluster-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator' - Cloning into 'rabbitmq-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z RabbitmqCluster ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=image - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n rabbitmq ']' - + cat - + '[' RabbitmqCluster == OpenStackControlPlane ']' - + '[' RabbitmqCluster == Galera ']' - + '[' RabbitmqCluster == NetConfig ']' - + '[' -n '' ']' - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./rabbitmq.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./rabbitmq.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z rabbitmq ']' - + '[' rabbitmq = rabbitmq ']' - + OPERATOR_NAME=rabbitmq-cluster - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - + oc apply -f - - rabbitmqcluster.rabbitmq.com/rabbitmq created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=keystone-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE keystone-operator-index - OPERATOR_SOURCE keystone-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - catalogsource.operators.coreos.com/keystone-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/keystone-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator' - Cloning into 'keystone-operator'... - 'Running checkout: git checkout 8b3a77972a77' - 'Note: switching to ''8b3a77972a77''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z KeystoneAPI ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' KeystoneAPI == OpenStackControlPlane ']' - + '[' KeystoneAPI == Galera ']' - + '[' KeystoneAPI == NetConfig ']' - + '[' -n '' ']' - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./keystone_v1beta1_keystoneapi.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - + oc apply -f - - keystoneapi.keystone.openstack.org/keystone created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' -z quay.io/openstack-k8s-operators/barbican-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=barbican-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE barbican-operator-index - OPERATOR_SOURCE barbican-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - catalogsource.operators.coreos.com/barbican-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/barbican-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/barbican-operator.git barbican-operator' - Cloning into 'barbican-operator'... - 'Running checkout: git checkout f489fa5ceb3c' - 'Note: switching to ''f489fa5ceb3c''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at f489fa5 Merge pull request #312 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z Barbican ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Barbican == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Barbican == OpenStackControlPlane ']' - + '[' Barbican == Galera ']' - + '[' Barbican == NetConfig ']' - + '[' -n '' ']' - + [[ Barbican == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Barbican == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./barbican_v1beta1_barbican.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./barbican_v1beta1_barbican.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make barbican_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'BARBICAN_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests --namespace barbican-kuttl-tests ' - '2025/12/03 13:17:16 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 180 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests has 2 tests' - === RUN kuttl/harness - === RUN kuttl/harness/barbican_scale - === PAUSE kuttl/harness/barbican_scale - === RUN kuttl/harness/barbican_tls - === PAUSE kuttl/harness/barbican_tls - === CONT kuttl/harness/barbican_scale - ' logger.go:42: 13:17:16 | barbican_scale | Ignoring deploy as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:17:16 | barbican_scale | Skipping creation of user-supplied namespace: barbican-kuttl-tests' - ' logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | starting test step 1-deploy-barbican' - ' logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | running command: [sh -c cp ../../../../config/samples/barbican_v1beta1_barbican.*yaml deploy' - ' oc kustomize deploy | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | barbican.barbican.openstack.org/barbican created' - ' logger.go:42: 13:17:54 | barbican_scale/1-deploy-barbican | test step completed 1-deploy-barbican' - ' logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | starting test step 2-scale-barbican' - ' logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanAPI/replicas", "value":2}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanKeystoneListener/replicas", "value":2}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanWorker/replicas", "value":2}]''' - ' ]' - ' logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:56 | barbican_scale/2-scale-barbican | test step completed 2-scale-barbican' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | starting test step 3-scale-down-barbican' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanAPI/replicas", "value":1}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanKeystoneListener/replicas", "value":1}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanWorker/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:57 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:58 | barbican_scale/3-scale-down-barbican | test step completed 3-scale-down-barbican' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | starting test step 4-scale-down-zero-barbican' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanAPI/replicas", "value":0}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanKeystoneListener/replicas", "value":0}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanWorker/replicas", "value":0}]''' - ' ]' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:59 | barbican_scale/4-scale-down-zero-barbican | test step completed 4-scale-down-zero-barbican' - ' logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | starting test step 5-cleanup-barbican' - ' logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | running command: [sh -c oc kustomize deploy | oc delete -n $NAMESPACE -f -' - ' rm deploy/barbican_v1beta1_barbican.yaml' - ' ]' - ' logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | barbican.barbican.openstack.org "barbican" deleted' - ' logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | test step completed 5-cleanup-barbican' - ' logger.go:42: 13:18:00 | barbican_scale | skipping kubernetes event logging' - === CONT kuttl/harness/barbican_tls - ' logger.go:42: 13:18:00 | barbican_tls | Ignoring kustomization.yaml as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:18:00 | barbican_tls | Skipping creation of user-supplied namespace: barbican-kuttl-tests' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********le created' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | starting test step 1-deploy_barbican' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | barbican.barbican.openstack.org/barbican created' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:02 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:03 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:08 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:09 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:15 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:16 | barbican_tls/1-deploy_barbican | test step completed 1-deploy_barbican' - ' logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | starting test step 5-cleanup-barbican' - ' logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | barbican.barbican.openstack.org "barbican" deleted' - ' logger.go:42: 13:18:29 | barbican_tls/5-cleanup-barbican | test step completed 5-cleanup-barbican' - ' logger.go:42: 13:18:29 | barbican_tls | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (73.68s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/barbican_scale (44.09s)' - ' --- PASS: kuttl/harness/barbican_tls (29.57s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z barbican-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml - namespace/barbican-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - barbican-kuttl-tests Active - oc project barbican-kuttl-tests - Now using project "barbican-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - keystoneapi.keystone.openstack.org "keystone" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - galera.mariadb.openstack.org "openstack" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - memcached.memcached.openstack.org "memcached" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - NAME ALLREPLICASREADY RECONCILESUCCESS AGE - rabbitmq True True 3m7s - rabbitmqcluster.rabbitmq.com "rabbitmq" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make barbican_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep barbican - + CSV=barbican-operator.v0.0.1 - + '[' -n barbican-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv barbican-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "barbican-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription barbican-operator --ignore-not-found=true - subscription.operators.coreos.com "barbican-operator" deleted - + oc delete -n openstack-operators catalogsource barbican-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "barbican-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make kuttl_common_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep keystone - + CSV=keystone-operator.v0.0.1 - + '[' -n keystone-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "keystone-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true - subscription.operators.coreos.com "keystone-operator" deleted - + oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "keystone-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep rabbitmq-cluster - + CSV=rabbitmq-cluster-operator.v0.0.1 - + '[' -n rabbitmq-cluster-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "rabbitmq-cluster-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true - subscription.operators.coreos.com "rabbitmq-cluster-operator" deleted - + oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "rabbitmq-cluster-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z barbican-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml - namespace/barbican-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - barbican-kuttl-tests Active - oc project barbican-kuttl-tests - Already on project "barbican-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep infra - + CSV=infra-operator.v0.0.1 - + '[' -n infra-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "infra-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true - subscription.operators.coreos.com "infra-operator" deleted - + oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "infra-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep mariadb - + CSV=mariadb-operator.v0.0.1 - + '[' -n mariadb-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "mariadb-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true - subscription.operators.coreos.com "mariadb-operator" deleted - + oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "mariadb-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc delete --ignore-not-found=true -f - - secret "libvirt-secret" deleted - secret "octavia-ca-passphrase" deleted - secret "osp-secret" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z metallb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep metallb - + CSV=metallb-operator.v4.18.0-202511181540 - + '[' -n metallb-operator.v4.18.0-202511181540 ']' - + oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "metallb-operator.v4.18.0-202511181540" deleted - + oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true - + oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/restore-namespace.sh - Now using project "openstack" on server "https://api.crc.testing:6443". - ~/ci-framework-data/artifacts make_crc_attach_default_interface_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: '~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts make attach_default_interface make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup'' bash scripts/interfaces-setup-cleanup.sh + ''['' 1000 -eq 0 '']'' ++ virsh --connect=qemu:///system dumpxml crc ++ xmllint --xpath ''string(/domain/devices/interface/source[@network="default"]/../mac/@address)'' - error: failed to connect to the hypervisor error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory -:1: parser error : Document is empty ^ + MAC_ADDRESS= + ''['' -n '''' '']'' + ''['' -n '''' '']'' bash scripts/interfaces-setup.sh + ''['' 1000 -eq 0 '']'' + ''['' -n '''' '']'' + [[ -z 52:54:00:11:11:10 ]] + VM_ID_SECTION=''mac=''\''''52:54:00:11:11:10''\'''''' + virsh --connect=qemu:///system net-update default add-last ip-dhcp-host --xml '''' --config --live error: failed to connect to the hypervisor error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory + virsh --connect=qemu:///system attach-interface crc --source default --type network --model virtio --mac 52:54:00:11:11:10 --config --persistent error: failed to connect to the hypervisor error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory + sleep 5 + ''['' -n '''' '']'' make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup'' ~/ci-framework-data/artifacts ' stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts - make attach_default_interface - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup''' - bash scripts/interfaces-setup-cleanup.sh - + '[' 1000 -eq 0 ']' - ++ virsh --connect=qemu:///system dumpxml crc - ++ xmllint --xpath 'string(/domain/devices/interface/source[@network="default"]/../mac/@address)' - - 'error: failed to connect to the hypervisor' - 'error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory' - '-:1: parser error : Document is empty' - '' - ^ - + MAC_ADDRESS= - + '[' -n '' ']' - + '[' -n '' ']' - bash scripts/interfaces-setup.sh - + '[' 1000 -eq 0 ']' - + '[' -n '' ']' - + [[ -z 52:54:00:11:11:10 ]] - + VM_ID_SECTION='mac='\''52:54:00:11:11:10'\''' - + virsh --connect=qemu:///system net-update default add-last ip-dhcp-host --xml '' --config --live - 'error: failed to connect to the hypervisor' - 'error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory' - + virsh --connect=qemu:///system attach-interface crc --source default --type network --model virtio --mac 52:54:00:11:11:10 --config --persistent - 'error: failed to connect to the hypervisor' - 'error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory' - + sleep 5 - + '[' -n '' ']' - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup''' - ~/ci-framework-data/artifacts make_download_tools_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts\nANSIBLE_FORCE_COLOR=true ansible-playbook \\\n-v -i hosts --tags all \\\ndownload_tools.yaml\n\e[0;34mUsing /etc/ansible/ansible.cfg as config file\e[0m\n\nPLAY [Download tools] **********************************************************\n\nTASK [Gathering Facts] *********************************************************\n\e[0;32mok: [localhost]\e[0m\n\nTASK [download_tools : Install build dependencies] *****************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"msg\": \"\", \"rc\": 0, \"results\": [\"Installed: apr-util-1.6.1-23.el9.x86_64\", \"Installed: libisoburn-1.5.4-5.el9.x86_64\", \"Installed: apr-util-bdb-1.6.1-23.el9.x86_64\", \"Installed: libisofs-1.5.4-4.el9.x86_64\", \"Installed: skopeo-2:1.20.0-2.el9.x86_64\", \"Installed: apr-util-openssl-1.6.1-23.el9.x86_64\", \"Installed: virt-install-5.0.0-1.el9.noarch\", \"Installed: virt-manager-common-5.0.0-1.el9.noarch\", \"Installed: xorriso-1.5.4-5.el9.x86_64\", \"Installed: libburn-1.5.4-5.el9.x86_64\", \"Installed: python3-argcomplete-1.12.0-5.el9.noarch\", \"Installed: osinfo-db-20250606-1.el9.noarch\", \"Installed: osinfo-db-tools-1.10.0-1.el9.x86_64\", \"Installed: xmlstarlet-1.6.1-20.el9.x86_64\", \"Installed: libosinfo-1.10.0-1.el9.x86_64\", \"Installed: httpd-tools-2.4.62-10.el9.x86_64\", \"Installed: apr-1.7.0-12.el9.x86_64\", \"Installed: sqlite-3.34.1-9.el9.x86_64\", \"Installed: libvirt-client-11.9.0-1.el9.x86_64\"]}\e[0m\n\nTASK [download_tools : Set opm download url suffix] ****************************\n\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"opm_version is undefined or opm_version == \\\"latest\\\"\", \"skip_reason\": \"Conditional result was False\"}\e[0m\n\nTASK [download_tools : Set opm download url suffix] ****************************\n\e[0;32mok: [localhost] => {\"ansible_facts\": {\"opm_url_suffix\": \"download/v1.30.0\"}, \"changed\": false}\e[0m\n\nTASK [download_tools : Create $HOME/bin dir] ***********************************\n\e[0;32mok: [localhost] => {\"changed\": false, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"owner\": \"zuul\", \"path\": \"/home/zuul/bin\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 48, \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Download opm] *******************************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"9238abd6903e2fbbb4e1077b6ae3ada340867a32\", \"dest\": \"/home/zuul/bin/opm\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"7012baf74b8eb8252ce3d768e06f5400\", \"mode\": \"0755\", \"msg\": \"OK (54879432 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 54879432, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761414.5196772-32917-51786293035582/tmpo8swiqtd\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-registry/releases/download/v1.30.0/linux-amd64-opm\"}\e[0m\n\nTASK [download_tools : Get version from sdk_version] ***************************\n\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_sdk_version\": \"1.41.1\"}, \"changed\": false}\e[0m\n\nTASK [download_tools : Set operator-sdk file for version < 1.3.0] **************\n\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"_sdk_version is version('1.3.0', 'lt', strict=True )\", \"skip_reason\": \"Conditional result was False\"}\e[0m\n\nTASK [download_tools : Set operator-sdk file for version >= 1.3.0] *************\n\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_operator_sdk_file\": \"operator-sdk_linux_amd64\"}, \"changed\": false}\e[0m\n\nTASK [download_tools : Download operator-sdk] **********************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b29fbaf7b88d11c0fc7b56fc7468cc20bbb00875\", \"dest\": \"/home/zuul/bin/operator-sdk\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"f288351121b669bf298bab2daeb0d4de\", \"mode\": \"0755\", \"msg\": \"OK (120534604 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 120534604, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761415.6766424-32939-241411933361370/tmpxy1nwuy2\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-sdk/releases/download/v1.41.1/operator-sdk_linux_amd64\"}\e[0m\n\nTASK [download_tools : Download and extract kustomize] *************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 96, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Download kubectl] ***************************************\n\e[0;32mok: [localhost] => {\"changed\": false, \"dest\": \"/home/zuul/bin/kubectl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"msg\": \"HTTP Error 304: Not Modified\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 193737032, \"state\": \"hard\", \"status_code\": 304, \"uid\": 1000, \"url\": \"https://dl.k8s.io/release/v1.25.7/bin/linux/amd64/kubectl\"}\e[0m\n\nTASK [download_tools : Download kuttl] *****************************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b6a31d1f3601af01fcce998d721a8e71df2fddc2\", \"dest\": \"/home/zuul/bin/kubectl-kuttl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"3ff8e2099b841f8ef0766ebc22057376\", \"mode\": \"0755\", \"msg\": \"OK (39207064 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 39207064, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.1037977-33005-89093643008481/tmpbxm3tmqo\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/kudobuilder/kuttl/releases/download/v0.20.0/kubectl-kuttl_0.20.0_linux_x86_64\"}\e[0m\n\nTASK [download_tools : Download chainsaw] **************************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"README.md\", \"--exclude\", \"LICENSE\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 133, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Download and extract yq] ********************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 4096, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Link yq_linux_amd64 as yq] ******************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/yq\", \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0777\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 29, \"src\": \"/home/zuul/bin/yq_linux_amd64\", \"state\": \"link\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Deinstall golang] ***************************************\n\e[0;32mok: [localhost] => {\"changed\": false, \"msg\": \"Nothing to do\", \"rc\": 0, \"results\": []}\e[0m\n\nTASK [download_tools : Delete old go version installed from upstream] **********\n\e[0;32mok: [localhost] => (item=/usr/local/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/go\", \"path\": \"/usr/local/go\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/home/zuul/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/go\", \"path\": \"/home/zuul/bin/go\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/home/zuul/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/gofmt\", \"path\": \"/home/zuul/bin/gofmt\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/usr/local/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/go\", \"path\": \"/usr/local/bin/go\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/usr/local/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/gofmt\", \"path\": \"/usr/local/bin/gofmt\", \"state\": \"absent\"}\e[0m\n\nTASK [download_tools : Download and extract golang] ****************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/usr/local\", \"extract_results\": {\"cmd\": [\"/bin/gtar\", \"--extract\", \"-C\", \"/usr/local\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"go/misc\", \"--exclude\", \"go/pkg/linux_amd64_race\", \"--exclude\", \"go/test\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 0, \"group\": \"root\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"root\", \"secontext\": \"system_u:object_r:usr_t:s0\", \"size\": 141, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\", \"state\": \"directory\", \"uid\": 0}\e[0m\n\nTASK [download_tools : Set alternatives link to installed go version] **********\n\e[0;33mchanged: [localhost] => (item=go) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/go go /usr/local/go/bin/go 1\\n\", \"delta\": \"0:00:00.009930\", \"end\": \"2025-12-03 11:30:48.071551\", \"item\": \"go\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.061621\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m\n\e[0;33mchanged: [localhost] => (item=gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/gofmt gofmt /usr/local/go/bin/gofmt 1\\n\", \"delta\": \"0:00:00.007200\", \"end\": \"2025-12-03 11:30:48.368997\", \"item\": \"gofmt\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.361797\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m\n\nTASK [download_tools : Clean bash cache] ***************************************\n\e[0;32mok: [localhost] => {\e[0m\n\e[0;32m \"msg\": \"When move from rpm to upstream version, make sure to clean bash cache using `hash -d go`\"\e[0m\n\e[0;32m}\e[0m\n\nPLAY RECAP *********************************************************************\n\e[0;33mlocalhost\e[0m \ : \e[0;32mok=19 \e[0m \e[0;33mchanged=10 \e[0m unreachable=0 failed=0 \e[0;36mskipped=2 \e[0m rescued=0 ignored=0 \ \n\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts - ANSIBLE_FORCE_COLOR=true ansible-playbook \ - -v -i hosts --tags all \ - download_tools.yaml - "\e[0;34mUsing /etc/ansible/ansible.cfg as config file\e[0m" - '' - PLAY [Download tools] ********************************************************** - '' - TASK [Gathering Facts] ********************************************************* - "\e[0;32mok: [localhost]\e[0m" - '' - 'TASK [download_tools : Install build dependencies] *****************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"msg\": \"\", \"rc\": 0, \"results\": [\"Installed: apr-util-1.6.1-23.el9.x86_64\", \"Installed: libisoburn-1.5.4-5.el9.x86_64\", \"Installed: apr-util-bdb-1.6.1-23.el9.x86_64\", \"Installed: libisofs-1.5.4-4.el9.x86_64\", \"Installed: skopeo-2:1.20.0-2.el9.x86_64\", \"Installed: apr-util-openssl-1.6.1-23.el9.x86_64\", \"Installed: virt-install-5.0.0-1.el9.noarch\", \"Installed: virt-manager-common-5.0.0-1.el9.noarch\", \"Installed: xorriso-1.5.4-5.el9.x86_64\", \"Installed: libburn-1.5.4-5.el9.x86_64\", \"Installed: python3-argcomplete-1.12.0-5.el9.noarch\", \"Installed: osinfo-db-20250606-1.el9.noarch\", \"Installed: osinfo-db-tools-1.10.0-1.el9.x86_64\", \"Installed: xmlstarlet-1.6.1-20.el9.x86_64\", \"Installed: libosinfo-1.10.0-1.el9.x86_64\", \"Installed: httpd-tools-2.4.62-10.el9.x86_64\", \"Installed: apr-1.7.0-12.el9.x86_64\", \"Installed: sqlite-3.34.1-9.el9.x86_64\", \"Installed: libvirt-client-11.9.0-1.el9.x86_64\"]}\e[0m" - '' - 'TASK [download_tools : Set opm download url suffix] ****************************' - "\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"opm_version is undefined or opm_version == \\\"latest\\\"\", \"skip_reason\": \"Conditional result was False\"}\e[0m" - '' - 'TASK [download_tools : Set opm download url suffix] ****************************' - "\e[0;32mok: [localhost] => {\"ansible_facts\": {\"opm_url_suffix\": \"download/v1.30.0\"}, \"changed\": false}\e[0m" - '' - 'TASK [download_tools : Create $HOME/bin dir] ***********************************' - "\e[0;32mok: [localhost] => {\"changed\": false, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"owner\": \"zuul\", \"path\": \"/home/zuul/bin\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 48, \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Download opm] *******************************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"9238abd6903e2fbbb4e1077b6ae3ada340867a32\", \"dest\": \"/home/zuul/bin/opm\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"7012baf74b8eb8252ce3d768e06f5400\", \"mode\": \"0755\", \"msg\": \"OK (54879432 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 54879432, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761414.5196772-32917-51786293035582/tmpo8swiqtd\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-registry/releases/download/v1.30.0/linux-amd64-opm\"}\e[0m" - '' - 'TASK [download_tools : Get version from sdk_version] ***************************' - "\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_sdk_version\": \"1.41.1\"}, \"changed\": false}\e[0m" - '' - 'TASK [download_tools : Set operator-sdk file for version < 1.3.0] **************' - "\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"_sdk_version is version('1.3.0', 'lt', strict=True )\", \"skip_reason\": \"Conditional result was False\"}\e[0m" - '' - 'TASK [download_tools : Set operator-sdk file for version >= 1.3.0] *************' - "\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_operator_sdk_file\": \"operator-sdk_linux_amd64\"}, \"changed\": false}\e[0m" - '' - 'TASK [download_tools : Download operator-sdk] **********************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b29fbaf7b88d11c0fc7b56fc7468cc20bbb00875\", \"dest\": \"/home/zuul/bin/operator-sdk\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"f288351121b669bf298bab2daeb0d4de\", \"mode\": \"0755\", \"msg\": \"OK (120534604 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 120534604, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761415.6766424-32939-241411933361370/tmpxy1nwuy2\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-sdk/releases/download/v1.41.1/operator-sdk_linux_amd64\"}\e[0m" - '' - 'TASK [download_tools : Download and extract kustomize] *************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 96, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Download kubectl] ***************************************' - "\e[0;32mok: [localhost] => {\"changed\": false, \"dest\": \"/home/zuul/bin/kubectl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"msg\": \"HTTP Error 304: Not Modified\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 193737032, \"state\": \"hard\", \"status_code\": 304, \"uid\": 1000, \"url\": \"https://dl.k8s.io/release/v1.25.7/bin/linux/amd64/kubectl\"}\e[0m" - '' - 'TASK [download_tools : Download kuttl] *****************************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b6a31d1f3601af01fcce998d721a8e71df2fddc2\", \"dest\": \"/home/zuul/bin/kubectl-kuttl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"3ff8e2099b841f8ef0766ebc22057376\", \"mode\": \"0755\", \"msg\": \"OK (39207064 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 39207064, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.1037977-33005-89093643008481/tmpbxm3tmqo\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/kudobuilder/kuttl/releases/download/v0.20.0/kubectl-kuttl_0.20.0_linux_x86_64\"}\e[0m" - '' - 'TASK [download_tools : Download chainsaw] **************************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"README.md\", \"--exclude\", \"LICENSE\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 133, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Download and extract yq] ********************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 4096, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Link yq_linux_amd64 as yq] ******************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/yq\", \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0777\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 29, \"src\": \"/home/zuul/bin/yq_linux_amd64\", \"state\": \"link\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Deinstall golang] ***************************************' - "\e[0;32mok: [localhost] => {\"changed\": false, \"msg\": \"Nothing to do\", \"rc\": 0, \"results\": []}\e[0m" - '' - 'TASK [download_tools : Delete old go version installed from upstream] **********' - "\e[0;32mok: [localhost] => (item=/usr/local/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/go\", \"path\": \"/usr/local/go\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/home/zuul/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/go\", \"path\": \"/home/zuul/bin/go\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/home/zuul/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/gofmt\", \"path\": \"/home/zuul/bin/gofmt\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/usr/local/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/go\", \"path\": \"/usr/local/bin/go\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/usr/local/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/gofmt\", \"path\": \"/usr/local/bin/gofmt\", \"state\": \"absent\"}\e[0m" - '' - 'TASK [download_tools : Download and extract golang] ****************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/usr/local\", \"extract_results\": {\"cmd\": [\"/bin/gtar\", \"--extract\", \"-C\", \"/usr/local\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"go/misc\", \"--exclude\", \"go/pkg/linux_amd64_race\", \"--exclude\", \"go/test\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 0, \"group\": \"root\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"root\", \"secontext\": \"system_u:object_r:usr_t:s0\", \"size\": 141, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\", \"state\": \"directory\", \"uid\": 0}\e[0m" - '' - 'TASK [download_tools : Set alternatives link to installed go version] **********' - "\e[0;33mchanged: [localhost] => (item=go) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/go go /usr/local/go/bin/go 1\\n\", \"delta\": \"0:00:00.009930\", \"end\": \"2025-12-03 11:30:48.071551\", \"item\": \"go\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.061621\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m" - "\e[0;33mchanged: [localhost] => (item=gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/gofmt gofmt /usr/local/go/bin/gofmt 1\\n\", \"delta\": \"0:00:00.007200\", \"end\": \"2025-12-03 11:30:48.368997\", \"item\": \"gofmt\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.361797\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m" - '' - 'TASK [download_tools : Clean bash cache] ***************************************' - "\e[0;32mok: [localhost] => {\e[0m" - "\e[0;32m \"msg\": \"When move from rpm to upstream version, make sure to clean bash cache using `hash -d go`\"\e[0m" - "\e[0;32m}\e[0m" - '' - PLAY RECAP ********************************************************************* - "\e[0;33mlocalhost\e[0m : \e[0;32mok=19 \e[0m \e[0;33mchanged=10 \ \e[0m unreachable=0 failed=0 \e[0;36mskipped=2 \e[0m rescued=0 \ ignored=0 " - '' - ~/ci-framework-data/artifacts make_horizon_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_horizon_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nbash scripts/validate-marketplace.sh\n+ '[' -z 500s ']'\n+ OPERATOR_NAMESPACE=openshift-marketplace\n++ oc get pods --no-headers -n openshift-marketplace\n++ grep -viE 'running|completed'\n+ not_running_pods=\n+ '[' -z '' ']'\n+ echo 'All openshift-marketplace pods seems to me fine'\nAll openshift-marketplace pods seems to me fine\n+ OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator'\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep openshift-cert-manager-operator\nopenshift-cert-manager-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep kubernetes-nmstate-operator\nkubernetes-nmstate-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep metallb-operator\nmetallb-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nmetallb-system Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator unchanged\nsubscription.operators.coreos.com/metallb-operator-sub unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nmetallb-operator-controller-manager-b9dd667db-j4qd7 \ 1/1 Running 0 127m\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj \ 1/1 Running 0 127m\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nspeaker-56dnr 2/2 Running 0 126m\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z horizon-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml\nnamespace/horizon-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nhorizon-kuttl-tests Active\noc project horizon-kuttl-tests\nNow using project \"horizon-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in horizon-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/mariadb-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning into 'mariadb-operator'...\nRunning checkout: git checkout 3989cc50de31\nNote: switching to '3989cc50de31'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\n+ oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 1ff40691b66d\nNote: switching to '1ff40691b66d'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z Memcached ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\n+ oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nbash -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z RabbitmqCluster ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\n+ oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator\nCloning into 'keystone-operator'...\nRunning checkout: git checkout 8b3a77972a77\nNote: switching to '8b3a77972a77'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z KeystoneAPI ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\n+ oc apply -f -\nkeystoneapi.keystone.openstack.org/keystone created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' -z quay.io/openstack-k8s-operators/horizon-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=horizon-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE horizon-operator-index\nOPERATOR_SOURCE horizon-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\ncatalogsource.operators.coreos.com/horizon-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/horizon-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/horizon-operator.git horizon-operator\nCloning into 'horizon-operator'...\nRunning checkout: git checkout 8bc80a35f9c5\nNote: switching to '8bc80a35f9c5'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8bc80a3 Merge pull request #541 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z Horizon ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Horizon == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Horizon == OpenStackControlPlane ']'\n+ '[' Horizon == Galera ']'\n+ '[' Horizon == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Horizon == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Horizon == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./horizon_v1beta1_horizon.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./horizon_v1beta1_horizon.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake horizon_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nHORIZON_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml --namespace horizon-kuttl-tests \n2025/12/03 13:43:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 180 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests has 2 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/basic-deployment\n=== PAUSE kuttl/harness/basic-deployment\n=== RUN kuttl/harness/tls-deployment\n=== PAUSE kuttl/harness/tls-deployment\n=== CONT kuttl/harness/basic-deployment\n \ logger.go:42: 13:43:45 | basic-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | starting test step 1-deploy-horizon\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon.yaml\n \ ]\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | horizon.horizon.openstack.org/horizon created\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n \ logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n \ logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n \ logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:52 GMT\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Server: Apache\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Length: 9629\r\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:54 GMT\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private\r\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Language: en\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=nNz62Ex7aV6x7nJxHEwIX2QIviSCYVloWEIP1okEWQDJL7CNMIxYblFnDXnsiAXx; Path=/; SameSite=Lax\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | \r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + STATUSCODE=200\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + test 200 -ne 200\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + exit 0\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n \ fi\n else\n RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n \ exit $RETURN_CODE\n ]\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n \ logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:55 GMT\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Server: Apache\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Length: 9624\r\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:57 GMT\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private\r\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Language: en\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=eUFFNNZ7Cz3Ap9elV9oW6mc4b3S6QG0H9iBCLfW6TmEDerv9KoExptBO2QOa5uhu; Path=/; SameSite=Lax\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | \r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=200\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + test 200 -ne 200\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + exit 0\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | test step completed 1-deploy-horizon\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | starting test step 2-update-extramounts-horizon\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c touch mycustompolicy.yaml\n oc create configmap -n $NAMESPACE horizon-policy --from-file mycustompolicy.yaml\n \ ]\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | configmap/horizon-policy created\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c oc patch horizon -n $NAMESPACE horizon --type='merge' -p '{\n \"spec\": {\n \"extraMounts\": [\n {\n \ \"name\": \"v1\",\n \"region\": \"r1\",\n \ \"extraVol\": [\n {\n \"extraVolType\": \"Policy\",\n \"mounts\": [\n {\n \ \"mountPath\": \"/etc/openstack-dashboard/mycustomPolicy.yaml\",\n \ \"name\": \"policy\",\n \"readOnly\": true,\n \"subPath\": \"mycustomPolicy.yaml\"\n \ }\n ],\n \"volumes\": [\n {\n \"name\": \"policy\",\n \ \"configMap\": {\n \"name\": \"horizon-policy\"\n }\n }\n \ ]\n }\n ]\n }\n \ ]\n }\n }'\n ]\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | horizon.horizon.openstack.org/horizon patched\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | test step completed 2-update-extramounts-horizon\n logger.go:42: 13:44:57 | basic-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon\n logger.go:42: 13:45:29 | basic-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon\n logger.go:42: 13:45:29 | basic-deployment | skipping kubernetes event logging\n=== CONT kuttl/harness/tls-deployment\n \ logger.go:42: 13:45:29 | tls-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests\n logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n \ logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********le created\n logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********vc created\n logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n \ logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | starting test step 1-deploy_horizon\n logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon_tls.yaml\n \ ]\n logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | horizon.horizon.openstack.org/horizon created\n logger.go:42: 13:46:04 | tls-deployment/1-deploy_horizon | test step completed 1-deploy_horizon\n \ logger.go:42: 13:46:04 | tls-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon\n logger.go:42: 13:46:35 | tls-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon\n logger.go:42: 13:46:35 | tls-deployment | skipping kubernetes event logging\n=== NAME kuttl\n \ harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (170.50s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/basic-deployment (104.16s)\n --- PASS: kuttl/harness/tls-deployment (66.31s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z horizon-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml\nnamespace/horizon-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nhorizon-kuttl-tests Active\noc project horizon-kuttl-tests\nNow using project \"horizon-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nkeystoneapi.keystone.openstack.org \"keystone\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\ngalera.mariadb.openstack.org \"openstack\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nmemcached.memcached.openstack.org \"memcached\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNAME ALLREPLICASREADY RECONCILESUCCESS AGE\nrabbitmq \ True True 4m43s\nrabbitmqcluster.rabbitmq.com \"rabbitmq\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake horizon_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep horizon\n+ CSV=horizon-operator.v0.0.1\n+ '[' -n horizon-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv horizon-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"horizon-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription horizon-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"horizon-operator\" deleted\n+ oc delete -n openstack-operators catalogsource horizon-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"horizon-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake kuttl_common_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep keystone\n+ CSV=keystone-operator.v0.0.1\n+ '[' -n keystone-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"keystone-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"keystone-operator\" deleted\n+ oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"keystone-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep rabbitmq-cluster\n+ CSV=rabbitmq-cluster-operator.v0.0.1\n+ '[' -n rabbitmq-cluster-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"rabbitmq-cluster-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"rabbitmq-cluster-operator\" deleted\n+ oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"rabbitmq-cluster-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z horizon-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml\nnamespace/horizon-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nhorizon-kuttl-tests Active\noc project horizon-kuttl-tests\nAlready on project \"horizon-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep infra\n+ CSV=infra-operator.v0.0.1\n+ '[' -n infra-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"infra-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"infra-operator\" deleted\n+ oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"infra-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep mariadb\n+ CSV=mariadb-operator.v0.0.1\n+ '[' -n mariadb-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"mariadb-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"mariadb-operator\" deleted\n+ oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"mariadb-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc delete --ignore-not-found=true -f -\nsecret \"libvirt-secret\" deleted\nsecret \"octavia-ca-passphrase\" deleted\nsecret \"osp-secret\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z metallb ']'\n++ grep metallb\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n+ CSV=metallb-operator.v4.18.0-202511181540\n+ '[' -n metallb-operator.v4.18.0-202511181540 ']'\n+ oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"metallb-operator.v4.18.0-202511181540\" deleted\n+ oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true\n+ oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - bash scripts/validate-marketplace.sh - + '[' -z 500s ']' - + OPERATOR_NAMESPACE=openshift-marketplace - ++ oc get pods --no-headers -n openshift-marketplace - ++ grep -viE 'running|completed' - + not_running_pods= - + '[' -z '' ']' - + echo 'All openshift-marketplace pods seems to me fine' - All openshift-marketplace pods seems to me fine - + OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator' - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep openshift-cert-manager-operator - openshift-cert-manager-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep kubernetes-nmstate-operator - kubernetes-nmstate-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep metallb-operator - metallb-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator unchanged - subscription.operators.coreos.com/metallb-operator-sub unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - metallb-operator-controller-manager-b9dd667db-j4qd7 1/1 Running 0 127m - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 127m - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - speaker-56dnr 2/2 Running 0 126m - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z horizon-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml - namespace/horizon-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - horizon-kuttl-tests Active - oc project horizon-kuttl-tests - Now using project "horizon-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z horizon-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in horizon-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=mariadb-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE mariadb-operator-index - OPERATOR_SOURCE mariadb-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - catalogsource.operators.coreos.com/mariadb-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/mariadb-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator' - Cloning into 'mariadb-operator'... - 'Running checkout: git checkout 3989cc50de31' - 'Note: switching to ''3989cc50de31''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z Galera ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Galera == OpenStackControlPlane ']' - + '[' Galera == Galera ']' - + cat - + '[' Galera == NetConfig ']' - + '[' -n '' ']' - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./mariadb_v1beta1_galera.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - + oc apply -f - - galera.mariadb.openstack.org/openstack created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=infra-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE infra-operator-index - OPERATOR_SOURCE infra-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - catalogsource.operators.coreos.com/infra-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/infra-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator' - Cloning into 'infra-operator'... - 'Running checkout: git checkout 1ff40691b66d' - 'Note: switching to ''1ff40691b66d''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z Memcached ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n memcached ']' - + cat - + '[' Memcached == OpenStackControlPlane ']' - + '[' Memcached == Galera ']' - + '[' Memcached == NetConfig ']' - + '[' -n '' ']' - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./memcached_v1beta1_memcached.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - + oc apply -f - - memcached.memcached.openstack.org/memcached created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index - OPERATOR_SOURCE rabbitmq-cluster-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/rabbitmq-cluster-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator' - Cloning into 'rabbitmq-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z RabbitmqCluster ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=image - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n rabbitmq ']' - + cat - + '[' RabbitmqCluster == OpenStackControlPlane ']' - + '[' RabbitmqCluster == Galera ']' - + '[' RabbitmqCluster == NetConfig ']' - + '[' -n '' ']' - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./rabbitmq.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./rabbitmq.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z rabbitmq ']' - + '[' rabbitmq = rabbitmq ']' - + OPERATOR_NAME=rabbitmq-cluster - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - + oc apply -f - - rabbitmqcluster.rabbitmq.com/rabbitmq created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=keystone-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE keystone-operator-index - OPERATOR_SOURCE keystone-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - catalogsource.operators.coreos.com/keystone-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/keystone-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator' - Cloning into 'keystone-operator'... - 'Running checkout: git checkout 8b3a77972a77' - 'Note: switching to ''8b3a77972a77''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z KeystoneAPI ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' KeystoneAPI == OpenStackControlPlane ']' - + '[' KeystoneAPI == Galera ']' - + '[' KeystoneAPI == NetConfig ']' - + '[' -n '' ']' - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./keystone_v1beta1_keystoneapi.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - + oc apply -f - - keystoneapi.keystone.openstack.org/keystone created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' -z quay.io/openstack-k8s-operators/horizon-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=horizon-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE horizon-operator-index - OPERATOR_SOURCE horizon-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - catalogsource.operators.coreos.com/horizon-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/horizon-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/horizon-operator.git horizon-operator' - Cloning into 'horizon-operator'... - 'Running checkout: git checkout 8bc80a35f9c5' - 'Note: switching to ''8bc80a35f9c5''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8bc80a3 Merge pull request #541 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z Horizon ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Horizon == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Horizon == OpenStackControlPlane ']' - + '[' Horizon == Galera ']' - + '[' Horizon == NetConfig ']' - + '[' -n '' ']' - + [[ Horizon == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Horizon == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./horizon_v1beta1_horizon.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./horizon_v1beta1_horizon.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make horizon_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'HORIZON_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml --namespace horizon-kuttl-tests ' - '2025/12/03 13:43:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 180 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests has 2 tests' - === RUN kuttl/harness - === RUN kuttl/harness/basic-deployment - === PAUSE kuttl/harness/basic-deployment - === RUN kuttl/harness/tls-deployment - === PAUSE kuttl/harness/tls-deployment - === CONT kuttl/harness/basic-deployment - ' logger.go:42: 13:43:45 | basic-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | starting test step 1-deploy-horizon' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon.yaml' - ' ]' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | horizon.horizon.openstack.org/horizon created' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:52 GMT' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Server: Apache' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Length: 9629' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:54 GMT' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Language: en' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=nNz62Ex7aV6x7nJxHEwIX2QIviSCYVloWEIP1okEWQDJL7CNMIxYblFnDXnsiAXx; Path=/; SameSite=Lax' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | ' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + STATUSCODE=200' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + test 200 -ne 200' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + exit 0' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:55 GMT' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Server: Apache' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Length: 9624' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:57 GMT' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Language: en' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=eUFFNNZ7Cz3Ap9elV9oW6mc4b3S6QG0H9iBCLfW6TmEDerv9KoExptBO2QOa5uhu; Path=/; SameSite=Lax' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | ' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=200' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + test 200 -ne 200' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + exit 0' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | test step completed 1-deploy-horizon' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | starting test step 2-update-extramounts-horizon' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c touch mycustompolicy.yaml' - ' oc create configmap -n $NAMESPACE horizon-policy --from-file mycustompolicy.yaml' - ' ]' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | configmap/horizon-policy created' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c oc patch horizon -n $NAMESPACE horizon --type=''merge'' -p ''{' - ' "spec": {' - ' "extraMounts": [' - ' {' - ' "name": "v1",' - ' "region": "r1",' - ' "extraVol": [' - ' {' - ' "extraVolType": "Policy",' - ' "mounts": [' - ' {' - ' "mountPath": "/etc/openstack-dashboard/mycustomPolicy.yaml",' - ' "name": "policy",' - ' "readOnly": true,' - ' "subPath": "mycustomPolicy.yaml"' - ' }' - ' ],' - ' "volumes": [' - ' {' - ' "name": "policy",' - ' "configMap": {' - ' "name": "horizon-policy"' - ' }' - ' }' - ' ]' - ' }' - ' ]' - ' }' - ' ]' - ' }' - ' }''' - ' ]' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | horizon.horizon.openstack.org/horizon patched' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | test step completed 2-update-extramounts-horizon' - ' logger.go:42: 13:44:57 | basic-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon' - ' logger.go:42: 13:45:29 | basic-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon' - ' logger.go:42: 13:45:29 | basic-deployment | skipping kubernetes event logging' - === CONT kuttl/harness/tls-deployment - ' logger.go:42: 13:45:29 | tls-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********le created' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********vc created' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | starting test step 1-deploy_horizon' - ' logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon_tls.yaml' - ' ]' - ' logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | horizon.horizon.openstack.org/horizon created' - ' logger.go:42: 13:46:04 | tls-deployment/1-deploy_horizon | test step completed 1-deploy_horizon' - ' logger.go:42: 13:46:04 | tls-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon' - ' logger.go:42: 13:46:35 | tls-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon' - ' logger.go:42: 13:46:35 | tls-deployment | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (170.50s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/basic-deployment (104.16s)' - ' --- PASS: kuttl/harness/tls-deployment (66.31s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z horizon-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml - namespace/horizon-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - horizon-kuttl-tests Active - oc project horizon-kuttl-tests - Now using project "horizon-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - keystoneapi.keystone.openstack.org "keystone" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - galera.mariadb.openstack.org "openstack" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - memcached.memcached.openstack.org "memcached" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - NAME ALLREPLICASREADY RECONCILESUCCESS AGE - rabbitmq True True 4m43s - rabbitmqcluster.rabbitmq.com "rabbitmq" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make horizon_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep horizon - + CSV=horizon-operator.v0.0.1 - + '[' -n horizon-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv horizon-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "horizon-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription horizon-operator --ignore-not-found=true - subscription.operators.coreos.com "horizon-operator" deleted - + oc delete -n openstack-operators catalogsource horizon-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "horizon-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make kuttl_common_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep keystone - + CSV=keystone-operator.v0.0.1 - + '[' -n keystone-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "keystone-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true - subscription.operators.coreos.com "keystone-operator" deleted - + oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "keystone-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep rabbitmq-cluster - + CSV=rabbitmq-cluster-operator.v0.0.1 - + '[' -n rabbitmq-cluster-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "rabbitmq-cluster-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true - subscription.operators.coreos.com "rabbitmq-cluster-operator" deleted - + oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "rabbitmq-cluster-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z horizon-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml - namespace/horizon-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - horizon-kuttl-tests Active - oc project horizon-kuttl-tests - Already on project "horizon-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep infra - + CSV=infra-operator.v0.0.1 - + '[' -n infra-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "infra-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true - subscription.operators.coreos.com "infra-operator" deleted - + oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "infra-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep mariadb - + CSV=mariadb-operator.v0.0.1 - + '[' -n mariadb-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "mariadb-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true - subscription.operators.coreos.com "mariadb-operator" deleted - + oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "mariadb-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc delete --ignore-not-found=true -f - - secret "libvirt-secret" deleted - secret "octavia-ca-passphrase" deleted - secret "osp-secret" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z metallb ']' - ++ grep metallb - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - + CSV=metallb-operator.v4.18.0-202511181540 - + '[' -n metallb-operator.v4.18.0-202511181540 ']' - + oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "metallb-operator.v4.18.0-202511181540" deleted - + oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true - + oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - ~/ci-framework-data/artifacts make_keystone_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_keystone_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nNow using project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in keystone-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/mariadb-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning into 'mariadb-operator'...\nRunning checkout: git checkout 3989cc50de31\nNote: switching to '3989cc50de31'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n+ oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nmetallb-system Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator unchanged\nsubscription.operators.coreos.com/metallb-operator-sub unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nmetallb-operator-controller-manager-b9dd667db-j4qd7 \ 1/1 Running 0 107m\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj \ 1/1 Running 0 107m\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nspeaker-56dnr 2/2 Running 0 106m\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 1ff40691b66d\nNote: switching to '1ff40691b66d'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Memcached ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\n+ oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z RabbitmqCluster ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\n+ oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator\nCloning into 'keystone-operator'...\nRunning checkout: git checkout 8b3a77972a77\nNote: switching to '8b3a77972a77'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n \ git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z KeystoneAPI ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake keystone_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nKEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests --namespace keystone-kuttl-tests \n2025/12/03 13:22:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 800 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests has 5 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/change_keystone_config\n=== PAUSE kuttl/harness/change_keystone_config\n=== RUN kuttl/harness/fernet_rotation\n=== PAUSE kuttl/harness/fernet_rotation\n=== RUN kuttl/harness/keystone_resources\n=== PAUSE kuttl/harness/keystone_resources\n=== RUN kuttl/harness/keystone_scale\n=== PAUSE kuttl/harness/keystone_scale\n=== RUN kuttl/harness/keystone_tls\n=== PAUSE kuttl/harness/keystone_tls\n=== CONT kuttl/harness/change_keystone_config\n \ logger.go:42: 13:22:57 | change_keystone_config | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | starting test step 0-deploy_keystone\n logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:22:58 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:03 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:04 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:09 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:10 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:16 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:17 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:20 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:21 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:22 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:23 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:24 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:25 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:26 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:28 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:29 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:30 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:31 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:33 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:34 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:35 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:36 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:37 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:39 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:40 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:41 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:42 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:43 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:45 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:46 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:47 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:48 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:50 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:51 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:52 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:53 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:54 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:56 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:58 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:23:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:24:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:24:01 | change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 13:24:01 | change_keystone_config/1- | starting test step 1-\n logger.go:42: 13:24:01 | change_keystone_config/1- | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]\n \ logger.go:42: 13:24:01 | change_keystone_config/1- | test step completed 1-\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | starting test step 2-change_keystone_config\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/customServiceConfig\", \"value\": \"[DEFAULT]\\ndebug = false\"}]'\n ]\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh --reverse]\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | error: arguments in resource/name form may not have more than one slash\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | test step completed 2-change_keystone_config\n logger.go:42: 13:24:01 | change_keystone_config/3-cleanup-keystone | starting test step 3-cleanup-keystone\n logger.go:42: 13:24:06 | change_keystone_config/3-cleanup-keystone | test step completed 3-cleanup-keystone\n logger.go:42: 13:24:06 | change_keystone_config | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_tls\n logger.go:42: 13:24:06 | keystone_tls | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n \ logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********le created\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n \ logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | starting test step 1-keystoneapi_tls_deploy\n logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:10 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:16 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:18 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:37 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:41 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:44 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:48 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:51 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:54 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:56 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | test step completed 1-keystoneapi_tls_deploy\n logger.go:42: 13:24:58 | keystone_tls/2-cleanup-keystone | starting test step 2-cleanup-keystone\n logger.go:42: 13:25:02 | keystone_tls/2-cleanup-keystone | test step completed 2-cleanup-keystone\n \ logger.go:42: 13:25:02 | keystone_tls | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_scale\n logger.go:42: 13:25:02 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | starting test step 0-deploy_keystone\n logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:04 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:05 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:10 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:11 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:14 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:15 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:16 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:17 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:19 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:20 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:21 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:22 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:24 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:25 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:26 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:27 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:29 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:30 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:31 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:32 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:34 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:35 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:36 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:37 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:38 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:40 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:41 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:42 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:43 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:44 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:46 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:47 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:48 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:49 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:50 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:52 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | starting test step 1-scale-keystoneapi\n \ logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":3}]'\n ]\n logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:26:26 | keystone_scale/1-scale-keystoneapi | test step completed 1-scale-keystoneapi\n logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | starting test step 2-scale-down-keystoneapi\n logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":1}]'\n ]\n \ logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:26:27 | keystone_scale/2-scale-down-keystoneapi | test step completed 2-scale-down-keystoneapi\n logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | starting test step 3-scale-down-zero-keystoneapi\n logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":0}]'\n \ ]\n logger.go:42: 13:26:28 | keystone_scale/3-scale-down-zero-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:26:34 | keystone_scale/3-scale-down-zero-keystoneapi | test step completed 3-scale-down-zero-keystoneapi\n logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | starting test step 4-cleanup-keystone\n \ logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | test step completed 4-cleanup-keystone\n logger.go:42: 13:26:34 | keystone_scale | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_resources\n \ logger.go:42: 13:26:34 | keystone_resources | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | starting test step 0-deploy_keystone\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:36 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:37 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:42 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:43 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:47 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:48 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:51 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:52 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:53 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:55 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:56 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:57 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:58 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:26:59 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:01 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:02 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:03 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:04 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:06 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:07 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:08 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:09 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:10 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:12 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:13 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:14 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:15 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:16 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:18 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:19 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:20 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:22 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:23 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:24 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:25 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:26 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:28 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:29 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | starting test step 1-deploy-keystoneservice\n logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | KeystoneService:keystone-kuttl-tests/placement created\n logger.go:42: 13:27:33 | keystone_resources/1-deploy-keystoneservice | test step completed 1-deploy-keystoneservice\n logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | starting test step 2-deploy-keystoneendpoint\n logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | KeystoneEndpoint:keystone-kuttl-tests/placement created\n logger.go:42: 13:27:45 | keystone_resources/2-deploy-keystoneendpoint | test step completed 2-deploy-keystoneendpoint\n logger.go:42: 13:27:45 | keystone_resources/3-cleanup-keystoneendpoint | starting test step 3-cleanup-keystoneendpoint\n logger.go:42: 13:27:46 | keystone_resources/3-cleanup-keystoneendpoint | test step completed 3-cleanup-keystoneendpoint\n logger.go:42: 13:27:46 | keystone_resources/4-cleanup-keystoneservice | starting test step 4-cleanup-keystoneservice\n logger.go:42: 13:27:49 | keystone_resources/4-cleanup-keystoneservice | test step completed 4-cleanup-keystoneservice\n logger.go:42: 13:27:49 | keystone_resources/5-cleanup-keystone | starting test step 5-cleanup-keystone\n \ logger.go:42: 13:27:54 | keystone_resources/5-cleanup-keystone | test step completed 5-cleanup-keystone\n logger.go:42: 13:27:54 | keystone_resources | skipping kubernetes event logging\n=== CONT \ kuttl/harness/fernet_rotation\n logger.go:42: 13:27:54 | fernet_rotation | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n \ logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | starting test step 0-deploy_keystone\n logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:55 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:56 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:01 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:02 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:08 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:09 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:12 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n \ template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:13 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:14 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:16 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:17 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:18 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:19 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:20 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:22 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:23 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:24 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:25 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:26 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:28 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:29 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:30 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:31 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:32 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:34 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:35 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:36 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:37 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:38 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:40 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:41 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:42 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:43 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:44 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:45 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:47 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:48 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:49 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n \ imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n \ template='{{.spec.containerImage}}'\n case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n \ ;;\n esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n \ done\n ]\n logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | starting test step 1-deploy_openstackclient\n \ logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient created\n logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | + oc wait --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | pod/openstackclient condition met\n logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | + alias 'openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack'\n logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | ++ oc exec -tn keystone-kuttl-tests openstackclient -- openstack token issue -f value -c id\n logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + echo gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | test step completed 1-deploy_openstackclient\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | starting test step 2-rotate_keys\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | Secret:ke**********ne updated\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | running command: [sh -c ../../common/scripts/validate_test_token.sh]\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + seconds=1\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + '[' 1 -le 30 ']'\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | ++ oc get secret keystone -n keystone-kuttl-tests -o 'jsonpath={.metadata.annotations['\\''keystone\\.openstack\\.org/rotatedat'\\'']}'\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + rotatedat=2025-12-03T13:28:57Z\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + '[' 2025-12-03T13:28:57Z '!=' 2009-11-10T23:00:00Z ']'\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + break\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + sleep 60\n logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | ++ true\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + output='The service catalog is empty.\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1'\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + echo 'The service catalog is empty.\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1'\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + grep -qi 'Could not recognize Fernet token'\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + exit 0\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | test step completed 2-rotate_keys\n \ logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | starting test step 3-rotate_keys_until_invalidate\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/rotate_token.sh]\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + TMP_SECRET_FILE=/tmp/keystone-secret.yaml\n \ logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 1...'\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 1...\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Warning: resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\n \ logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 1 completed successfully.'\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 1 completed successfully.\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 2...'\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 2...\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 2 completed successfully.'\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2 completed successfully.\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 3...'\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 3...\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 3 completed successfully.'\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 3 completed successfully.\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 4...'\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 4...\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 4 completed successfully.'\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 4 completed successfully.\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 5...'\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 5...\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 5 completed successfully.'\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 5 completed successfully.\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + rm -f /tmp/keystone-secret.yaml\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'All rotations completed successfully.'\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | All rotations completed successfully.\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:28 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n \ logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n \ logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + output='Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output='Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)'\n \ logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | test step completed 3-rotate_keys_until_invalidate\n logger.go:42: 13:38:58 | fernet_rotation/4-cleanup-openstackclient | starting test step 4-cleanup-openstackclient\n logger.go:42: 13:38:59 | fernet_rotation/4-cleanup-openstackclient | test step completed 4-cleanup-openstackclient\n logger.go:42: 13:38:59 | fernet_rotation/5-cleanup-keystone | starting test step 5-cleanup-keystone\n logger.go:42: 13:39:03 | fernet_rotation/5-cleanup-keystone | test step completed 5-cleanup-keystone\n logger.go:42: 13:39:03 | fernet_rotation | skipping kubernetes event logging\n=== NAME kuttl\n \ harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (965.81s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/change_keystone_config (68.26s)\n --- PASS: kuttl/harness/keystone_tls (56.30s)\n --- PASS: kuttl/harness/keystone_scale (91.96s)\n \ --- PASS: kuttl/harness/keystone_resources (80.18s)\n --- PASS: kuttl/harness/fernet_rotation (669.08s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nNow using project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\ngalera.mariadb.openstack.org \"openstack\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nmemcached.memcached.openstack.org \"memcached\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNAME ALLREPLICASREADY RECONCILESUCCESS AGE\nrabbitmq \ True True 17m\nrabbitmqcluster.rabbitmq.com \"rabbitmq\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake keystone_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep keystone\n+ CSV=keystone-operator.v0.0.1\n+ '[' -n keystone-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"keystone-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"keystone-operator\" deleted\n+ oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"keystone-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake kuttl_db_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nAlready on project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep infra\n+ CSV=infra-operator.v0.0.1\n+ '[' -n infra-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"infra-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"infra-operator\" deleted\n+ oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"infra-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep mariadb\n+ CSV=mariadb-operator.v0.0.1\n+ '[' -n mariadb-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"mariadb-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"mariadb-operator\" deleted\n+ oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"mariadb-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc delete --ignore-not-found=true -f -\nsecret \"libvirt-secret\" deleted\nsecret \"octavia-ca-passphrase\" deleted\nsecret \"osp-secret\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake rabbitmq_deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nAlready on project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in keystone-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake rabbitmq_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep rabbitmq-cluster\n+ CSV=rabbitmq-cluster-operator.v0.0.1\n+ '[' -n rabbitmq-cluster-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"rabbitmq-cluster-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"rabbitmq-cluster-operator\" deleted\n+ oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"rabbitmq-cluster-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/restore-namespace.sh\nNow using project \"openstack\" on server \"https://api.crc.testing:6443\".\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Now using project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z keystone-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in keystone-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=mariadb-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE mariadb-operator-index - OPERATOR_SOURCE mariadb-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - catalogsource.operators.coreos.com/mariadb-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/mariadb-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator' - Cloning into 'mariadb-operator'... - 'Running checkout: git checkout 3989cc50de31' - 'Note: switching to ''3989cc50de31''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z Galera ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Galera == OpenStackControlPlane ']' - + '[' Galera == Galera ']' - + cat - + '[' Galera == NetConfig ']' - + '[' -n '' ']' - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./mariadb_v1beta1_galera.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - + oc apply -f - - galera.mariadb.openstack.org/openstack created - + '[' 0 -lt 15 ']' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator unchanged - subscription.operators.coreos.com/metallb-operator-sub unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - metallb-operator-controller-manager-b9dd667db-j4qd7 1/1 Running 0 107m - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 107m - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - speaker-56dnr 2/2 Running 0 106m - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=infra-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE infra-operator-index - OPERATOR_SOURCE infra-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - catalogsource.operators.coreos.com/infra-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/infra-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator' - Cloning into 'infra-operator'... - 'Running checkout: git checkout 1ff40691b66d' - 'Note: switching to ''1ff40691b66d''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z Memcached ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n memcached ']' - + cat - + '[' Memcached == OpenStackControlPlane ']' - + '[' Memcached == Galera ']' - + '[' Memcached == NetConfig ']' - + '[' -n '' ']' - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./memcached_v1beta1_memcached.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - + oc apply -f - - memcached.memcached.openstack.org/memcached created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index - OPERATOR_SOURCE rabbitmq-cluster-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/rabbitmq-cluster-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator' - Cloning into 'rabbitmq-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z RabbitmqCluster ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=image - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n rabbitmq ']' - + cat - + '[' RabbitmqCluster == OpenStackControlPlane ']' - + '[' RabbitmqCluster == Galera ']' - + '[' RabbitmqCluster == NetConfig ']' - + '[' -n '' ']' - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./rabbitmq.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./rabbitmq.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z rabbitmq ']' - + '[' rabbitmq = rabbitmq ']' - + OPERATOR_NAME=rabbitmq-cluster - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - + oc apply -f - - rabbitmqcluster.rabbitmq.com/rabbitmq created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=keystone-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE keystone-operator-index - OPERATOR_SOURCE keystone-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - catalogsource.operators.coreos.com/keystone-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/keystone-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator' - Cloning into 'keystone-operator'... - 'Running checkout: git checkout 8b3a77972a77' - 'Note: switching to ''8b3a77972a77''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z KeystoneAPI ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' KeystoneAPI == OpenStackControlPlane ']' - + '[' KeystoneAPI == Galera ']' - + '[' KeystoneAPI == NetConfig ']' - + '[' -n '' ']' - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./keystone_v1beta1_keystoneapi.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make keystone_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'KEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests --namespace keystone-kuttl-tests ' - '2025/12/03 13:22:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 800 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests has 5 tests' - === RUN kuttl/harness - === RUN kuttl/harness/change_keystone_config - === PAUSE kuttl/harness/change_keystone_config - === RUN kuttl/harness/fernet_rotation - === PAUSE kuttl/harness/fernet_rotation - === RUN kuttl/harness/keystone_resources - === PAUSE kuttl/harness/keystone_resources - === RUN kuttl/harness/keystone_scale - === PAUSE kuttl/harness/keystone_scale - === RUN kuttl/harness/keystone_tls - === PAUSE kuttl/harness/keystone_tls - === CONT kuttl/harness/change_keystone_config - ' logger.go:42: 13:22:57 | change_keystone_config | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:22:58 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:03 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:04 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:09 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:10 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:16 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:17 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:20 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:21 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:22 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:23 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:24 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:25 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:26 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:28 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:29 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:30 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:31 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:33 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:34 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:35 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:36 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:37 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:39 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:40 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:41 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:42 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:43 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:45 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:46 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:47 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:48 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:50 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:51 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:52 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:53 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:54 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:56 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:58 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:24:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:24:01 | change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:24:01 | change_keystone_config/1- | starting test step 1-' - ' logger.go:42: 13:24:01 | change_keystone_config/1- | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]' - ' logger.go:42: 13:24:01 | change_keystone_config/1- | test step completed 1-' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | starting test step 2-change_keystone_config' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/customServiceConfig", "value": "[DEFAULT]\ndebug = false"}]''' - ' ]' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh --reverse]' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | error: arguments in resource/name form may not have more than one slash' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | test step completed 2-change_keystone_config' - ' logger.go:42: 13:24:01 | change_keystone_config/3-cleanup-keystone | starting test step 3-cleanup-keystone' - ' logger.go:42: 13:24:06 | change_keystone_config/3-cleanup-keystone | test step completed 3-cleanup-keystone' - ' logger.go:42: 13:24:06 | change_keystone_config | skipping kubernetes event logging' - === CONT kuttl/harness/keystone_tls - ' logger.go:42: 13:24:06 | keystone_tls | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********le created' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | starting test step 1-keystoneapi_tls_deploy' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:10 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:16 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:18 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:37 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:41 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:44 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:48 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:51 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:54 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:56 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | test step completed 1-keystoneapi_tls_deploy' - ' logger.go:42: 13:24:58 | keystone_tls/2-cleanup-keystone | starting test step 2-cleanup-keystone' - ' logger.go:42: 13:25:02 | keystone_tls/2-cleanup-keystone | test step completed 2-cleanup-keystone' - ' logger.go:42: 13:25:02 | keystone_tls | skipping kubernetes event logging' - === CONT kuttl/harness/keystone_scale - ' logger.go:42: 13:25:02 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:04 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:05 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:10 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:11 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:14 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:15 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:16 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:17 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:19 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:20 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:21 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:22 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:24 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:25 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:26 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:27 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:29 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:30 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:31 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:32 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:34 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:35 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:36 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:37 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:38 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:40 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:41 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:42 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:43 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:44 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:46 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:47 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:48 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:49 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:50 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:52 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | starting test step 1-scale-keystoneapi' - ' logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/replicas", "value":3}]''' - ' ]' - ' logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:26:26 | keystone_scale/1-scale-keystoneapi | test step completed 1-scale-keystoneapi' - ' logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | starting test step 2-scale-down-keystoneapi' - ' logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:26:27 | keystone_scale/2-scale-down-keystoneapi | test step completed 2-scale-down-keystoneapi' - ' logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | starting test step 3-scale-down-zero-keystoneapi' - ' logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/replicas", "value":0}]''' - ' ]' - ' logger.go:42: 13:26:28 | keystone_scale/3-scale-down-zero-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:26:34 | keystone_scale/3-scale-down-zero-keystoneapi | test step completed 3-scale-down-zero-keystoneapi' - ' logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | starting test step 4-cleanup-keystone' - ' logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | test step completed 4-cleanup-keystone' - ' logger.go:42: 13:26:34 | keystone_scale | skipping kubernetes event logging' - === CONT kuttl/harness/keystone_resources - ' logger.go:42: 13:26:34 | keystone_resources | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:36 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:37 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:42 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:43 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:47 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:48 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:51 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:52 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:53 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:55 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:56 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:57 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:58 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:59 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:01 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:02 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:03 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:04 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:06 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:07 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:08 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:09 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:10 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:12 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:13 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:14 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:15 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:16 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:18 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:19 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:20 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:22 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:23 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:24 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:25 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:26 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:28 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:29 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | starting test step 1-deploy-keystoneservice' - ' logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | KeystoneService:keystone-kuttl-tests/placement created' - ' logger.go:42: 13:27:33 | keystone_resources/1-deploy-keystoneservice | test step completed 1-deploy-keystoneservice' - ' logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | starting test step 2-deploy-keystoneendpoint' - ' logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | KeystoneEndpoint:keystone-kuttl-tests/placement created' - ' logger.go:42: 13:27:45 | keystone_resources/2-deploy-keystoneendpoint | test step completed 2-deploy-keystoneendpoint' - ' logger.go:42: 13:27:45 | keystone_resources/3-cleanup-keystoneendpoint | starting test step 3-cleanup-keystoneendpoint' - ' logger.go:42: 13:27:46 | keystone_resources/3-cleanup-keystoneendpoint | test step completed 3-cleanup-keystoneendpoint' - ' logger.go:42: 13:27:46 | keystone_resources/4-cleanup-keystoneservice | starting test step 4-cleanup-keystoneservice' - ' logger.go:42: 13:27:49 | keystone_resources/4-cleanup-keystoneservice | test step completed 4-cleanup-keystoneservice' - ' logger.go:42: 13:27:49 | keystone_resources/5-cleanup-keystone | starting test step 5-cleanup-keystone' - ' logger.go:42: 13:27:54 | keystone_resources/5-cleanup-keystone | test step completed 5-cleanup-keystone' - ' logger.go:42: 13:27:54 | keystone_resources | skipping kubernetes event logging' - === CONT kuttl/harness/fernet_rotation - ' logger.go:42: 13:27:54 | fernet_rotation | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:55 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:56 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:01 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:02 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:08 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:09 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:12 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:13 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:14 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:16 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:17 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:18 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:19 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:20 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:22 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:23 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:24 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:25 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:26 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:28 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:29 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:30 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:31 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:32 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:34 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:35 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:36 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:37 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:38 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:40 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:41 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:42 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:43 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:44 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:45 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:47 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:48 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:49 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | starting test step 1-deploy_openstackclient' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient created' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | + oc wait --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' - ' logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | pod/openstackclient condition met' - ' logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | + alias ''openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack''' - ' logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | ++ oc exec -tn keystone-kuttl-tests openstackclient -- openstack token issue -f value -c id' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + echo gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | test step completed 1-deploy_openstackclient' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | starting test step 2-rotate_keys' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | Secret:ke**********ne updated' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | running command: [sh -c ../../common/scripts/validate_test_token.sh]' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + seconds=1' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + ''['' 1 -le 30 '']''' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | ++ oc get secret keystone -n keystone-kuttl-tests -o ''jsonpath={.metadata.annotations[''\''''keystone\.openstack\.org/rotatedat''\'''']}''' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + rotatedat=2025-12-03T13:28:57Z' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + ''['' 2025-12-03T13:28:57Z ''!='' 2009-11-10T23:00:00Z '']''' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + break' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + sleep 60' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | ++ true' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + output=''The service catalog is empty.' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1''' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + echo ''The service catalog is empty.' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1''' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + grep -qi ''Could not recognize Fernet token''' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + exit 0' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | test step completed 2-rotate_keys' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | starting test step 3-rotate_keys_until_invalidate' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/rotate_token.sh]' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + TMP_SECRET_FILE=/tmp/keystone-secret.yaml' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 1...''' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 1...' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Warning: resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - ' logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 1 completed successfully.''' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 1 completed successfully.' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 2...''' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 2...' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 2 completed successfully.''' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2 completed successfully.' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 3...''' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 3...' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 3 completed successfully.''' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 3 completed successfully.' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 4...''' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 4...' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 4 completed successfully.''' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 4 completed successfully.' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 5...''' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 5...' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 5 completed successfully.''' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 5 completed successfully.' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + rm -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''All rotations completed successfully.''' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | All rotations completed successfully.' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:28 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | test step completed 3-rotate_keys_until_invalidate' - ' logger.go:42: 13:38:58 | fernet_rotation/4-cleanup-openstackclient | starting test step 4-cleanup-openstackclient' - ' logger.go:42: 13:38:59 | fernet_rotation/4-cleanup-openstackclient | test step completed 4-cleanup-openstackclient' - ' logger.go:42: 13:38:59 | fernet_rotation/5-cleanup-keystone | starting test step 5-cleanup-keystone' - ' logger.go:42: 13:39:03 | fernet_rotation/5-cleanup-keystone | test step completed 5-cleanup-keystone' - ' logger.go:42: 13:39:03 | fernet_rotation | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (965.81s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/change_keystone_config (68.26s)' - ' --- PASS: kuttl/harness/keystone_tls (56.30s)' - ' --- PASS: kuttl/harness/keystone_scale (91.96s)' - ' --- PASS: kuttl/harness/keystone_resources (80.18s)' - ' --- PASS: kuttl/harness/fernet_rotation (669.08s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Now using project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - galera.mariadb.openstack.org "openstack" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - memcached.memcached.openstack.org "memcached" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - NAME ALLREPLICASREADY RECONCILESUCCESS AGE - rabbitmq True True 17m - rabbitmqcluster.rabbitmq.com "rabbitmq" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make keystone_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep keystone - + CSV=keystone-operator.v0.0.1 - + '[' -n keystone-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "keystone-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true - subscription.operators.coreos.com "keystone-operator" deleted - + oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "keystone-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make kuttl_db_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Already on project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep infra - + CSV=infra-operator.v0.0.1 - + '[' -n infra-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "infra-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true - subscription.operators.coreos.com "infra-operator" deleted - + oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "infra-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep mariadb - + CSV=mariadb-operator.v0.0.1 - + '[' -n mariadb-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "mariadb-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true - subscription.operators.coreos.com "mariadb-operator" deleted - + oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "mariadb-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc delete --ignore-not-found=true -f - - secret "libvirt-secret" deleted - secret "octavia-ca-passphrase" deleted - secret "osp-secret" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make rabbitmq_deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Already on project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in keystone-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make rabbitmq_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep rabbitmq-cluster - + CSV=rabbitmq-cluster-operator.v0.0.1 - + '[' -n rabbitmq-cluster-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "rabbitmq-cluster-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true - subscription.operators.coreos.com "rabbitmq-cluster-operator" deleted - + oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "rabbitmq-cluster-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/restore-namespace.sh - Now using project "openstack" on server "https://api.crc.testing:6443". - ~/ci-framework-data/artifacts make_openstack_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_openstack_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml\nnamespace/openstack-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-kuttl-tests Active\noc project openstack-kuttl-tests\nNow using project \"openstack-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z openstack-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nerror: the server doesn't have a resource type \"RabbitmqCluster\"\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/rabbitmq/cr\nbash scripts/validate-marketplace.sh\n+ '[' -z 500s ']'\n+ OPERATOR_NAMESPACE=openshift-marketplace\n++ oc get pods --no-headers -n openshift-marketplace\n++ grep -viE 'running|completed'\n+ not_running_pods=\n+ '[' -z '' ']'\n+ echo 'All openshift-marketplace pods seems to me fine'\nAll openshift-marketplace pods seems to me fine\n+ OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator'\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep openshift-cert-manager-operator\nopenshift-cert-manager-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ grep kubernetes-nmstate-operator\n+ oc get packagemanifests -n openshift-marketplace\nkubernetes-nmstate-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep metallb-operator\nmetallb-operator \ Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openshift-nmstate ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/namespace.yaml\nnamespace/openshift-nmstate created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openshift-nmstate); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenshift-nmstate Active\nbash scripts/gen-olm-nmstate.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\noperatorgroup.operators.coreos.com/openshift-nmstate-tn6k8 created\nsubscription.operators.coreos.com/kubernetes-nmstate-operator created\ntimeout 500s bash -c \"while ! (oc get deployments/nmstate-operator -n openshift-nmstate); do sleep 10; done\"\nError from server (NotFound): deployments.apps \"nmstate-operator\" not found\nError from server (NotFound): deployments.apps \"nmstate-operator\" not found\nNAME \ READY UP-TO-DATE AVAILABLE AGE\nnmstate-operator \ 1/1 1 1 9s\noc wait deployments/nmstate-operator -n openshift-nmstate --for condition=Available --timeout=500s\ndeployment.apps/nmstate-operator condition met\ntimeout 500s bash -c \"while ! (oc wait pod -n openshift-apiserver -l apiserver=true --for condition=Ready); do sleep 10; done\"\npod/apiserver-76f77b778f-dmvst condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\nnmstate.nmstate.io/nmstate created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=kubernetes-nmstate-handler -n openshift-nmstate| grep nmstate-handler); do sleep 10; done\"\nNo resources found in openshift-nmstate namespace.\nnmstate-handler-qggff 0/1 Running 0 10s\noc wait pod -n openshift-nmstate -l component=kubernetes-nmstate-handler --for condition=Ready --timeout=500s\npod/nmstate-handler-qggff condition met\ntimeout 500s bash -c \"while ! (oc get deployments/nmstate-webhook -n openshift-nmstate); do sleep 10; done\"\nNAME READY \ UP-TO-DATE AVAILABLE AGE\nnmstate-webhook 0/1 1 0 \ 11s\noc wait deployments/nmstate-webhook -n openshift-nmstate --for condition=Available --timeout=500s\ndeployment.apps/nmstate-webhook condition met\nWORKERS='crc' \\\nbash scripts/gen-nncp.sh\n+ check_var_set DEPLOY_DIR\n+ [[ ! -v DEPLOY_DIR ]]\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr\n+ check_var_set WORKERS\n+ [[ ! -v WORKERS ]]\n+ check_var_set INTERFACE\n+ [[ ! -v INTERFACE ]]\n+ check_var_set BRIDGE_NAME\n+ [[ ! -v BRIDGE_NAME ]]\n+ check_var_set INTERFACE_MTU\n+ [[ ! -v INTERFACE_MTU ]]\n+ check_var_set VLAN_START\n+ [[ ! -v VLAN_START ]]\n+ check_var_set VLAN_STEP\n+ [[ ! -v VLAN_STEP ]]\n+ check_var_set VLAN_STEP\n+ [[ ! -v VLAN_STEP ]]\n+ check_var_set INTERNALAPI_PREFIX\n+ [[ ! -v INTERNALAPI_PREFIX ]]\n+ check_var_set STORAGE_PREFIX\n+ [[ ! -v STORAGE_PREFIX ]]\n+ check_var_set STORAGEMGMT_PREFIX\n+ [[ ! -v STORAGEMGMT_PREFIX ]]\n+ check_var_set TENANT_PREFIX\n+ [[ ! -v TENANT_PREFIX ]]\n+ check_var_set DESIGNATE_PREFIX\n+ [[ ! -v DESIGNATE_PREFIX ]]\n+ check_var_set DESIGNATE_EXT_PREFIX\n+ [[ ! -v DESIGNATE_EXT_PREFIX ]]\n+ '[' -n '' ']'\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr\n+ echo WORKERS crc\nWORKERS crc\n+ echo INTERFACE ens7\nINTERFACE ens7\n+ echo BRIDGE_NAME ospbr\nBRIDGE_NAME ospbr\n+ echo INTERFACE_BGP_1\nINTERFACE_BGP_1\n+ echo INTERFACE_BGP_2\nINTERFACE_BGP_2\n+ echo INTERFACE_MTU 1500\nINTERFACE_MTU 1500\n+ echo VLAN_START 20\nVLAN_START 20\n+ echo VLAN_STEP 1\nVLAN_STEP 1\n+ echo STORAGE_MACVLAN\nSTORAGE_MACVLAN\n+ '[' -n true ']'\n+ echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122\nCTLPLANE_IP_ADDRESS_PREFIX 192.168.122\n+ echo CTLPLANE_IP_ADDRESS_SUFFIX 10\nCTLPLANE_IP_ADDRESS_SUFFIX 10\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ IP_ADDRESS_SUFFIX=5\n+ IPV6_ADDRESS_SUFFIX=5\n+ rm --force '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/*_nncp.yaml'\n+ internalapi_vlan_id=20\n+ storage_vlan_id=21\n+ tenant_vlan_id=22\n+ storagemgmt_vlan_id=23\n+ octavia_vlan_id=24\n+ designate_vlan_id=25\n+ designate_ext_vlan_id=26\n+ for WORKER in ${WORKERS}\n+ cat\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n '' ']'\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ IP_ADDRESS_SUFFIX=6\n+ IPV6_ADDRESS_SUFFIX=6\n+ CTLPLANE_IP_ADDRESS_SUFFIX=11\n+ CTLPLANE_IPV6_ADDRESS_SUFFIX=1\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/\nnodenetworkconfigurationpolicy.nmstate.io/ens7-crc created\ntimeout 240s bash -c \"while ! (oc wait nncp -l osp/interface=ens7 --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured); do sleep 10; done\"\nnodenetworkconfigurationpolicy.nmstate.io/ens7-crc condition met\nif test -n \"192.168.122.10\"; then oc patch dns.operator/default --type merge -p '{\"spec\":{\"upstreamResolvers\":{\"policy\":\"Sequential\",\"upstreams\":[{\"type\":\"Network\",\"address\":\"'192.168.122.10'\",\"port\":53},{\"type\":\"SystemResolvConf\"}]}}}'; fi\ndns.operator.openshift.io/default patched\ntimeout 240s bash -c \"while ! (oc wait dns.operator/default --for condition=available); do sleep 10; done\"\ndns.operator.openshift.io/default condition met\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nmetallb-system Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator created\nsubscription.operators.coreos.com/metallb-operator-sub created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nNo resources found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-b9dd667db-j4qd7 \ 0/1 ContainerCreating 0 1s\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj \ 1/1 Running 0 40s\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nNo resources found in metallb-system namespace.\nspeaker-56dnr \ 1/2 Running 0 10s\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nmake operator_namespace\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z cert-manager-operator ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/namespace.yaml\nnamespace/cert-manager-operator created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io cert-manager-operator); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncert-manager-operator Active\noc project cert-manager-operator\nNow using project \"cert-manager-operator\" on server \"https://api.crc.testing:6443\".\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-olm-cert-manager.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']'\n+ '[' -z cert-manager-operator ']'\n+ '[' -z stable-v1 ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\n+ echo OPERATOR_NAMESPACE cert-manager-operator\nOPERATOR_NAMESPACE cert-manager-operator\n+ echo CHANNEL stable-v1\nCHANNEL stable-v1\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\noperatorgroup.operators.coreos.com/cert-manager-operator-bccwx created\nsubscription.operators.coreos.com/openshift-cert-manager-operator created\nwhile ! (oc get pod --no-headers=true -l name=cert-manager-operator -n cert-manager-operator| grep \"cert-manager-operator\"); do sleep 10; done\nNo resources found in cert-manager-operator namespace.\nNo resources found in cert-manager-operator namespace.\ncert-manager-operator-controller-manager-64cf6dff88-bzrrx \ 0/1 ContainerCreating 0 7s\noc wait pod -n cert-manager-operator --for condition=Ready -l name=cert-manager-operator --timeout=300s\npod/cert-manager-operator-controller-manager-64cf6dff88-bzrrx condition met\nwhile ! (oc get pod --no-headers=true -l app=cainjector -n cert-manager | grep \"cert-manager-cainjector\"); do sleep 10; done\nNo resources found in cert-manager namespace.\ncert-manager-cainjector-855d9ccff4-5pthb \ 0/1 ContainerCreating 0 6s\noc wait pod -n cert-manager -l app=cainjector --for condition=Ready --timeout=300s\npod/cert-manager-cainjector-855d9ccff4-5pthb condition met\nwhile ! (oc get pod --no-headers=true -l app=webhook -n cert-manager | grep \"cert-manager-webhook\"); do sleep 10; done\ncert-manager-webhook-f4fb5df64-z8l9s \ 0/1 Running 0 10s\noc wait pod -n cert-manager -l app=webhook --for condition=Ready --timeout=300s\npod/cert-manager-webhook-f4fb5df64-z8l9s condition met\nwhile ! (oc get pod --no-headers=true -l app=cert-manager -n cert-manager | grep \"cert-manager\"); do sleep 10; done\ncert-manager-86cb77c54b-jdfq2 \ 1/1 Running 0 3s\noc wait pod -n cert-manager -l app=cert-manager --for condition=Ready --timeout=300s\npod/cert-manager-86cb77c54b-jdfq2 condition met\nbash scripts/gen-netatt.sh\n+ check_var_set DEPLOY_DIR\n+ [[ ! -v DEPLOY_DIR ]]\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr\n+ check_var_set INTERFACE\n+ [[ ! -v INTERFACE ]]\n+ check_var_set BRIDGE_NAME\n+ [[ ! -v BRIDGE_NAME ]]\n+ check_var_set VLAN_START\n+ [[ ! -v VLAN_START ]]\n+ check_var_set VLAN_STEP\n+ [[ ! -v VLAN_STEP ]]\n+ '[' -z true ']'\n+ '[' -n true ']'\n+ '[' -n '' ']'\n+ '[' -n true ']'\n+ check_var_set INTERNALAPI_PREFIX\n+ [[ ! -v INTERNALAPI_PREFIX ]]\n+ check_var_set STORAGE_PREFIX\n+ [[ ! -v STORAGE_PREFIX ]]\n+ check_var_set STORAGEMGMT_PREFIX\n+ [[ ! -v STORAGEMGMT_PREFIX ]]\n+ check_var_set TENANT_PREFIX\n+ [[ ! -v TENANT_PREFIX ]]\n+ check_var_set DESIGNATE_PREFIX\n+ [[ ! -v DESIGNATE_PREFIX ]]\n+ check_var_set DESIGNATE_EXT_PREFIX\n+ [[ ! -v DESIGNATE_EXT_PREFIX ]]\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr\n+ echo INTERFACE ens7\nINTERFACE ens7\n+ echo VLAN_START 20\nVLAN_START 20\n+ echo VLAN_STEP 1\nVLAN_STEP 1\n+ '[' -n true ']'\n+ echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122\nCTLPLANE_IP_ADDRESS_PREFIX 192.168.122\n+ echo CTLPLANE_IP_ADDRESS_SUFFIX 10\nCTLPLANE_IP_ADDRESS_SUFFIX 10\n+ echo 'INTERNALAPI_PREFIX 172.17.0'\nINTERNALAPI_PREFIX 172.17.0\n+ echo 'STORAGE_PREFIX 172.18.0'\nSTORAGE_PREFIX 172.18.0\n+ echo 'STORAGEMGMT_PREFIX 172.20.0'\nSTORAGEMGMT_PREFIX 172.20.0\n+ echo 'TENANT_PREFIX 172.19.0'\nTENANT_PREFIX 172.19.0\n+ echo 'DESIGNATE_PREFIX 172.28.0'\nDESIGNATE_PREFIX 172.28.0\n+ echo 'DESIGNATE_PREFIX 172.50.0'\nDESIGNATE_PREFIX 172.50.0\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ cat\n+ '[' -n '' ']'\n+ '[' -n '' ']'\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr/\nnetworkattachmentdefinition.k8s.cni.cncf.io/ctlplane created\nnetworkattachmentdefinition.k8s.cni.cncf.io/datacentre created\nnetworkattachmentdefinition.k8s.cni.cncf.io/designate created\nnetworkattachmentdefinition.k8s.cni.cncf.io/designateext created\nnetworkattachmentdefinition.k8s.cni.cncf.io/internalapi created\nnetworkattachmentdefinition.k8s.cni.cncf.io/octavia created\nnetworkattachmentdefinition.k8s.cni.cncf.io/storage created\nnetworkattachmentdefinition.k8s.cni.cncf.io/storagemgmt created\nnetworkattachmentdefinition.k8s.cni.cncf.io/tenant created\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml\" does not exist\nmake: [Makefile:2551: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml\" does not exist\nmake: [Makefile:2552: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml\" does not exist\nmake: [Makefile:2553: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml\" does not exist\nmake: [Makefile:2554: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml\" does not exist\nmake: [Makefile:2555: metallb_config_cleanup] Error 1 (ignored)\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml\nbash scripts/gen-metallb-config.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' -z ens7 ']'\n+ '[' -z ospbr ']'\n+ '[' -z 64999 ']'\n+ '[' -z 64999 ']'\n+ '[' -z 100.65.4.1 ']'\n+ '[' -z 100.64.4.1 ']'\n+ '[' -z 172.30.4.2 ']'\n+ '[' -z true ']'\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE ens7\nINTERFACE ens7\n+ echo CTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90\nCTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90\n+ echo CTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90\nCTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml\nipaddresspool.metallb.io/ctlplane created\nipaddresspool.metallb.io/internalapi created\nipaddresspool.metallb.io/storage created\nipaddresspool.metallb.io/tenant created\nipaddresspool.metallb.io/designateext created\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml\nl2advertisement.metallb.io/ctlplane created\nl2advertisement.metallb.io/internalapi created\nl2advertisement.metallb.io/storage created\nl2advertisement.metallb.io/tenant created\nl2advertisement.metallb.io/designateext created\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' -z quay.io/openstack-k8s-operators/openstack-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=openstack-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE openstack-operator-index\nOPERATOR_SOURCE openstack-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nWarning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\nnamespace/openstack-operators configured\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\ncatalogsource.operators.coreos.com/openstack-operator-index created\noperatorgroup.operators.coreos.com/openstack created\nsubscription.operators.coreos.com/openstack-operator created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nbash -c \"test -d /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator || CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator\nCloning into 'openstack-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z openstack-kuttl-tests ']'\n+ '[' -z OpenStackControlPlane ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\n~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ OpenStackControlPlane == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ '' != '' ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' OpenStackControlPlane == OpenStackControlPlane ']'\n+ cat\n+ '[' OpenStackControlPlane == Galera ']'\n+ '[' OpenStackControlPlane == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ OpenStackControlPlane == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ true == \\t\\r\\u\\e ]]\n+ cat\n+ [[ OpenStackControlPlane == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -z true ']'\n+ cat\n+ '[' -n '' ']'\n+ '[' -z true ']'\n+ '[' -n true ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n# Wait until OLM installs openstack CRDs\ntimeout 500s bash -c \"while ! (oc get crd openstacks.operator.openstack.org); do sleep 1; done\"\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nNAME CREATED AT\nopenstacks.operator.openstack.org \ 2025-12-03T11:35:12Z\nmake openstack_init\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\n# call make_openstack if it isn't already\nbash -c '(oc get subscription -n openstack-operators openstack-operator || make openstack) || true'\nNAME \ PACKAGE SOURCE CHANNEL\nopenstack-operator \ openstack-operator openstack-operator-index alpha\ntimeout 500s bash -c 'until $(oc get csv -l operators.coreos.com/openstack-operator.openstack-operators -n openstack-operators | grep -q Succeeded); do sleep 1; done'\nbash -c 'test -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml || make openstack_repo'\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml\nopenstack.operator.openstack.org/openstack created\n# FIXME: Ugly hack to prevent OpenStack Baremetal operator from crashing when BMO is not installed\nif ! echo \"\" | grep -q \"baremetalhosts.metal3.io\"; then \\\n\tcurl -o /tmp/bmh_crd.yaml --retry-all-errors --retry 5 --retry-delay 10 https://raw.githubusercontent.com/metal3-io/baremetal-operator/refs/heads/main/config/base/crds/bases/metal3.io_baremetalhosts.yaml; \\\n\toc apply -f /tmp/bmh_crd.yaml; \\\n\trm -f /tmp/bmh_crd.yaml; \\\nfi\n % Total % Received % Xferd Average Speed Time Time \ Time Current\n Dload Upload \ Total Spent Left Speed\n\r 0 0 0 0 0 0 \ 0 0 --:--:-- --:--:-- --:--:-- 0\r100 61932 100 61932 \ 0 0 1008k 0 --:--:-- --:--:-- --:--:-- 1025k\ncustomresourcedefinition.apiextensions.k8s.io/baremetalhosts.metal3.io created\noc wait openstack/openstack -n openstack-operators --for condition=Ready --timeout=500s\nopenstack.operator.openstack.org/openstack condition met\ntimeout 500s bash -c \"while ! (oc get services -n openstack-operators | grep -E '^(openstack|openstack-baremetal|infra)-operator-webhook-service' | wc -l | grep -q -e 3); do sleep 5; done\"\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake openstack_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nset -e; \\\nfor test_dir in ctlplane-basic-deployment ctlplane-basic-deployment-with-nicMappings ctlplane-collapsed ctlplane-galera-3replicas ctlplane-galera-basic ctlplane-nodeselectors ctlplane-tls-cert-rotation ctlplane-tls-custom-issuers ctlplane-tls-custom-route dataplane-create-test dataplane-deploy-global-service-test dataplane-deploy-multiple-secrets dataplane-deploy-no-nodes-test dataplane-deploy-tls-test dataplane-extramounts dataplane-multinode-nodeset-create-test dataplane-service-config dataplane-service-custom-image dataplane-service-failure; do \\\n \ oc delete osctlplane --all --namespace openstack-kuttl-tests; \\\n\tmake crc_storage_cleanup_with_retries; \\\n\tmake crc_storage_with_retries; \\\n\tkubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests --test ${test_dir}; \\\ndone\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nNow using project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\nNo resources found\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\nNo resources found\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER \ RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION \ AGE\nlocal-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer \ true 5m13s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage created\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage created\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role created\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding created\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ oc apply -f -\n++ cat\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\nWarning: resource persistentvolumes/local-storage01-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage01-crc configured\nWarning: resource persistentvolumes/local-storage02-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage02-crc configured\nWarning: resource persistentvolumes/local-storage03-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage03-crc configured\nWarning: resource persistentvolumes/local-storage04-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage04-crc configured\nWarning: resource persistentvolumes/local-storage05-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage05-crc configured\nWarning: resource persistentvolumes/local-storage06-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage06-crc configured\nWarning: resource persistentvolumes/local-storage07-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage07-crc configured\nWarning: resource persistentvolumes/local-storage08-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage08-crc configured\nWarning: resource persistentvolumes/local-storage09-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage09-crc configured\nWarning: resource persistentvolumes/local-storage10-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage10-crc configured\nWarning: resource persistentvolumes/local-storage11-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage11-crc configured\nWarning: resource persistentvolumes/local-storage12-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage12-crc configured\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs created\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 11:37:09 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 11:37:09 | | netconfig.network.openstack.org/netconfig created\n logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 11:37:10 | | dnsmasq.network.openstack.org/dnsmasq created\n logger.go:42: 11:37:10 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 11:37:11 | | Generating public/private rsa key pair.\n logger.go:42: 11:37:11 | | Your identification has been saved in ansibleee-ssh-key-id_rsa\n logger.go:42: 11:37:11 | | Your public key has been saved in ansibleee-ssh-key-id_rsa.pub\n \ logger.go:42: 11:37:11 | | The key fingerprint is:\n logger.go:42: 11:37:11 | | SHA256:qxhPU/5ulNTTSrk46ghwjg7M6zlDD/MK3npnUfGx29A zuul@controller\n \ logger.go:42: 11:37:11 | | The key's randomart image is:\n logger.go:42: 11:37:11 | | +---[RSA 4096]----+\n logger.go:42: 11:37:11 | | | |\n logger.go:42: 11:37:11 | | | . . |\n \ logger.go:42: 11:37:11 | | | o +. o |\n logger.go:42: 11:37:11 | | | . +.E= . |\n logger.go:42: 11:37:11 | | | . . . S.++ + |\n logger.go:42: 11:37:11 | | |o+ = . o o=.o \ |\n logger.go:42: 11:37:11 | | |+o* + + oo . |\n logger.go:42: 11:37:11 | | |o=++ O +... |\n logger.go:42: 11:37:11 | | |.BB.+ +..oo |\n logger.go:42: 11:37:11 | | +----[SHA256]-----+\n \ logger.go:42: 11:37:11 | | secret/dataplane-ansible-ssh-private-key-secret created\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-basic-deployment\n=== PAUSE kuttl/harness/ctlplane-basic-deployment\n=== RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== CONT kuttl/harness/ctlplane-basic-deployment\n logger.go:42: 11:37:11 | ctlplane-basic-deployment | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | starting test step 1-deploy-openstack\n logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | starting test step 2-deploy-custom-cacert-secret\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-ca.yaml\n \ ]\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | secret/ca-custom-kuttl created\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | test step completed 2-deploy-custom-cacert-secret\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | starting test step 3-deploy-custom-cacert\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_ca | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | test step completed 3-deploy-custom-cacert\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | starting test step 4-\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | running command: [sh -c echo \"Checking ca-custom-kuttl.pem is present in combined-ca-bundle...\"\n \ CUSTOM_CERT_CONTENT=$(oc get secret ca-custom-kuttl -n $NAMESPACE -o jsonpath=\"{.data['ca-custom-kuttl\\.pem']}\" | base64 --decode | tr -d '\\n')\n TLS_BUNDLE_CONTENT=$(oc get secret combined-ca-bundle -n $NAMESPACE -o jsonpath=\"{.data['tls-ca-bundle\\.pem']}\" | base64 --decode | tr -d '\\n')\n if [[ \"$TLS_BUNDLE_CONTENT\" == *\"$CUSTOM_CERT_CONTENT\"* ]]; then\n echo \"OK\"\n exit 0\n else\n echo \"Not present\"\n exit 1\n \ fi\n ]\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | Checking ca-custom-kuttl.pem is present in combined-ca-bundle...\n \ logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | OK\n logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | test step completed 4-\n \ logger.go:42: 11:42:22 | ctlplane-basic-deployment/5-cleanup | starting test step 5-cleanup\n logger.go:42: 11:42:23 | ctlplane-basic-deployment/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n \ ]\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-libvirt\" deleted\n \ logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 11:43:05 | ctlplane-basic-deployment/5-cleanup | test step completed 5-cleanup\n logger.go:42: 11:43:05 | ctlplane-basic-deployment | skipping kubernetes event logging\n=== CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n \ logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n \ logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings\n logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml\n \ ]\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre configured\n \ logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"replace\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n \"value\":{\"datacentre\":\"ospbr\"}\n \ }]'\n ]\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings\n logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings\n logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"remove\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n }]'\n ]\n \ logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:48 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:49 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:51 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:52 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:53 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:54 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:56 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:57 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:46:58 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:00 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:01 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:02 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:04 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:05 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:06 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:08 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:09 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:10 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:11 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:13 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:14 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:15 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:17 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:18 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:19 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n \ ]\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovncontroller-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup\n logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (644.02s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-basic-deployment (354.54s)\n --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (287.89s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 2\n+ NAME=persistence-rabbitmq-cell1-server-0\n+ oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found\npersistentvolumeclaim \"persistence-rabbitmq-cell1-server-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage \ kubernetes.io/no-provisioner Delete WaitForFirstConsumer \ true 11m\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n++ oc get pv -o json\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 11:48:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 11:48:55 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 11:48:56 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 11:48:56 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 11:48:56 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings\n logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml\n \ ]\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre unchanged\n \ logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack\n logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings\n logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"replace\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n \"value\":{\"datacentre\":\"ospbr\"}\n \ }]'\n ]\n logger.go:42: 11:54:35 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"remove\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n }]'\n ]\n \ logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:54:41 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:54:43 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n exit 1\n ]\n \ logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings\n logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n \ ]\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovncontroller-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup\n logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (387.57s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (385.99s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 6m37s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ oc apply -f -\n++ cat\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ tr '\\n' ' '\n++ head -c-1\n++ sed -e 's|node/||'\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 11:55:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 11:55:45 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 11:55:46 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 11:55:46 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 11:55:46 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-collapsed\n=== PAUSE kuttl/harness/ctlplane-collapsed\n=== CONT kuttl/harness/ctlplane-collapsed\n \ logger.go:42: 11:55:46 | ctlplane-collapsed | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | starting test step 0-deps\n \ logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | running command: [sh -c oc apply -f ../../common/rhobs.yaml\n until oc api-resources | grep -q rhobs; do sleep 1; done\n ]\n logger.go:42: 11:55:47 | ctlplane-collapsed/0-deps | subscription.operators.coreos.com/cluster-observability-operator created\n logger.go:42: 11:56:02 | ctlplane-collapsed/0-deps | test step completed 0-deps\n logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | starting test step 1-deploy-openstack-collapsed-cell\n logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml\n \ ]\n logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | openstackcontrolplane.core.openstack.org/openstack-collapsed-cell created\n logger.go:42: 12:01:10 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | test step completed 1-deploy-openstack-collapsed-cell\n logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | starting test step 2-cleanup\n \ logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | running command: [sh -c oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n \ oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-metric-storage-prometheus-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovn-metrics\" deleted\n \ logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-watcher-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-watcher-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-watcher-public-svc\" deleted\n logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-internal\" deleted\n \ logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:01:44 | ctlplane-collapsed/2-cleanup | test step completed 2-cleanup\n logger.go:42: 12:01:44 | ctlplane-collapsed | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (359.28s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-collapsed (357.70s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0\n++ cut -d / -f 2\n+ NAME=prometheus-metric-storage-db-prometheus-metric-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/prometheus-metric-storage-db-prometheus-metric-storage-0 --ignore-not-found\npersistentvolumeclaim \"prometheus-metric-storage-db-prometheus-metric-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage \ kubernetes.io/no-provisioner Delete WaitForFirstConsumer \ true 6m7s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ oc apply -f -\n++ cat\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:02:07 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:02:07 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:02:11 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:02:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:02:12 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:02:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:02:12 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-galera-3replicas\n=== PAUSE kuttl/harness/ctlplane-galera-3replicas\n=== CONT kuttl/harness/ctlplane-galera-3replicas\n \ logger.go:42: 12:02:12 | ctlplane-galera-3replicas | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | starting test step 1-deploy-galera-3replicas\n logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml\n \ ]\n logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | openstackcontrolplane.core.openstack.org/openstack-galera-3replicas created\n logger.go:42: 12:08:24 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | test step completed 1-deploy-galera-3replicas\n logger.go:42: 12:08:24 | ctlplane-galera-3replicas/2-cleanup | starting test step 2-cleanup\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n mysql-db-openstack-galera-0 \\\n mysql-db-openstack-galera-1 \\\n mysql-db-openstack-galera-2 \\\n mysql-db-openstack-cell1-galera-0 \\\n mysql-db-openstack-cell1-galera-1 \\\n mysql-db-openstack-cell1-galera-2\n \ oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n \ oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-1\" deleted\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-2\" deleted\n \ logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n \ logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-1\" deleted\n \ logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-2\" deleted\n \ logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-libvirt\" deleted\n \ logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:08:59 | ctlplane-galera-3replicas/2-cleanup | test step completed 2-cleanup\n logger.go:42: 12:08:59 | ctlplane-galera-3replicas | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (412.15s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-galera-3replicas (406.80s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 2\n+ NAME=persistence-rabbitmq-cell1-server-0\n+ oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found\npersistentvolumeclaim \"persistence-rabbitmq-cell1-server-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 7m32s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ oc apply -f -\n++ cat\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:09:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:09:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:09:56 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:09:56 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:09:57 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:09:57 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:09:57 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-galera-basic\n=== PAUSE kuttl/harness/ctlplane-galera-basic\n=== CONT kuttl/harness/ctlplane-galera-basic\n \ logger.go:42: 12:09:57 | ctlplane-galera-basic | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | starting test step 1-deploy-galera\n logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera.yaml\n \ ]\n logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | openstackcontrolplane.core.openstack.org/openstack-galera created\n \ logger.go:42: 12:15:03 | ctlplane-galera-basic/1-deploy-galera | test step completed 1-deploy-galera\n logger.go:42: 12:15:03 | ctlplane-galera-basic/2-cleanup | starting test step 2-cleanup\n \ logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n mysql-db-openstack-galera-0 \\\n mysql-db-openstack-cell1-galera-0 \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n \ ]\n logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n \ logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovn-metrics\" deleted\n \ logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-rabbitmq-svc\" deleted\n \ logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-internal\" deleted\n \ logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:15:56 | ctlplane-galera-basic/2-cleanup | test step completed 2-cleanup\n logger.go:42: 12:15:56 | ctlplane-galera-basic | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (360.77s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-galera-basic (358.70s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 6m9s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ oc apply -f -\n++ cat\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:16:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:16:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:16:19 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:16:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:16:20 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:16:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:16:20 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-nodeselectors\n=== PAUSE kuttl/harness/ctlplane-nodeselectors\n=== CONT kuttl/harness/ctlplane-nodeselectors\n \ logger.go:42: 12:16:20 | ctlplane-nodeselectors | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | starting test step 1-deploy-openstack\n logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector=\"beta.kubernetes.io/os=linux\"\n \ ]\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | namespace/openstack-kuttl-tests annotated\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/nodeselectors/global | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | starting test step 2-\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | running command: [sh -c echo \"Checking all pods have expected nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | Checking all pods have expected nodeselector\n \ logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | running command: [sh -c echo \"Checking all cronjobs have expected nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"node-role.kubernetes.io/worker:\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | Checking all cronjobs have expected nodeselector\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | test step completed 2-\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | starting test step 3-update-nodeselector\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"replace\",\n \"path\": \"/spec/nodeSelector\",\n \ \"value\": {\"kubernetes.io/os\":\"linux\"}\n }]'\n \ ]\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | test step completed 3-update-nodeselector\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | starting test step 4-\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | Found 25 pods with bad or missing nodeselector:\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Found 24 pods with bad or missing nodeselector:\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Found 21 pods with bad or missing nodeselector:\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | Found 20 pods with bad or missing nodeselector:\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Found 18 pods with bad or missing nodeselector:\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | Found 16 pods with bad or missing nodeselector:\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | Found 10 pods with bad or missing nodeselector:\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:\n logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:\n logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n \ logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all cronjobs have expected nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all cronjobs have expected nodeselector\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | test step completed 4-\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/5-cleanup | starting test step 5-cleanup\n logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector-\n \ oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n \ oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n \ oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | namespace/openstack-kuttl-tests annotated\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-libvirt\" deleted\n \ logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:22:14 | ctlplane-nodeselectors/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:22:14 | ctlplane-nodeselectors | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (356.10s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-nodeselectors (353.83s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 6m5s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ oc apply -f -\n++ cat\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:22:38 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:22:38 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:22:39 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:22:39 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:22:39 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:22:39 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:22:40 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-tls-cert-rotation\n=== PAUSE kuttl/harness/ctlplane-tls-cert-rotation\n=== CONT kuttl/harness/ctlplane-tls-cert-rotation\n \ logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | starting test step 0-deploy-openstack-tls-ingress-only\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c oc kustomize ../../../../config/samples/tls/tls_ingress | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n \ ]\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met\n \ logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Fail if internal https endpoints are registered\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'https:' && exit 1\n exit 0\n ]\n logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered\n logger.go:42: 12:26:35 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb internalDbAddress use tcp\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp\n ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb DB connection use tcp\"\n \ oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q ptcp\"\n \ ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check nova transport_url use tcp\"\n \ oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=0'\"\n ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check neutron ovn_sb_connection url tcp address\"\n oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp\"\n ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n \ logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n \ ]\n logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met\n \ logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Fail if internal https endpoints are registered\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'https:' && exit 1\n exit 0\n ]\n logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered\n logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb internalDbAddress use tcp\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp\n ]\n logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp\n logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb DB connection use tcp\"\n \ oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q ptcp\"\n \ ]\n logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check nova transport_url use tcp\"\n \ oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=0'\"\n ]\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check neutron ovn_sb_connection url tcp address\"\n oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp\"\n ]\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n \ logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n \ ]\n logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met\n \ logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Fail if internal https endpoints are registered\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'https:' && exit 1\n exit 0\n ]\n logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb internalDbAddress use tcp\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp\n ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb DB connection use tcp\"\n \ oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q ptcp\"\n \ ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check nova transport_url use tcp\"\n \ oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=0'\"\n ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check neutron ovn_sb_connection url tcp address\"\n oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp\"\n ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address\n logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n \ logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | test step completed 0-deploy-openstack-tls-ingress-only\n logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | starting test step 1-deploy-openstack\n logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | starting test step 2-get-endpoints-certs\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"Get fingerprints of all service certs\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_before\n ]\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Get fingerprints of all service certs\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ awk -F/ '{print $3}'\n logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Service Unavailable (HTTP 503)\n logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n \ ]\n logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"Fail if internal http endpoints are registered\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'http:' && exit 1\n exit 0\n ]\n logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Fail if internal http endpoints are registered\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check ovn sb internalDbAddress use ssl\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q ssl\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb internalDbAddress use ssl\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check ovn sb DB connection use ssl\"\n oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q pssl\"\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb DB connection use ssl\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check nova transport_url use ssl\"\n \ oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=1'\"\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check nova transport_url use ssl\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check neutron ovn_sb_connection url ssl\"\n oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf| grep -q ssl\"\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check neutron ovn_sb_connection url ssl\n logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | test step completed 2-get-endpoints-certs\n logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | starting test step 3-change-cert-duration\n logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_duration | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:29:46 | ctlplane-tls-cert-rotation/3-change-cert-duration | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/3-change-cert-duration | test step completed 3-change-cert-duration\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | starting test step 4-\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n \ logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ '{print $3}'\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command terminated with exit code 137\n logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n \ logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n \ logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n \ logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n \ logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n \ logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n \ logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n \ logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n \ logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n \ logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n \ logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n \ logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | error: unable to upgrade connection: container not found (\"openstackclient\")\n \ logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:20 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n \ logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:59 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n \ logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n ]\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ '{print $3}'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1 ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'swift-public-openstack-kuttl-tests.apps-crc.testing:443 EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'nova-internal.openstack-kuttl-tests.svc:8774 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06 ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'placement-public-openstack-kuttl-tests.apps-crc.testing:443 E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8 ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'neutron-public-openstack-kuttl-tests.apps-crc.testing:443 B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79 ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'cinder-internal.openstack-kuttl-tests.svc:8776 FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67 ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'placement-internal.openstack-kuttl-tests.svc:8778 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'keystone-public-openstack-kuttl-tests.apps-crc.testing:443 A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48 ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'barbican-internal.openstack-kuttl-tests.svc:9311 D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1 ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'glance-default-internal.openstack-kuttl-tests.svc:9292 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01 ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'keystone-internal.openstack-kuttl-tests.svc:5000 B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'neutron-internal.openstack-kuttl-tests.svc:9696 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3 ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'nova-public-openstack-kuttl-tests.apps-crc.testing:443 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'cinder-public-openstack-kuttl-tests.apps-crc.testing:443 FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33 ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'barbican-public-openstack-kuttl-tests.apps-crc.testing:443 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC ]]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'swift-internal.openstack-kuttl-tests.svc:8080 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Check if all services from before are present in after and have valid fingerprints\"\n bash -s < ../../common/osp_check_fingerprints.sh\n \ ]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | Check if all services from before are present in after and have valid fingerprints\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + IFS=\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + read -r before\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + exit 0\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | test step completed 4-\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | starting test step 5-cleanup\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n \ ]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-libvirt\" deleted\n \ logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (614.87s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-tls-cert-rotation (612.92s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 10m\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ oc apply -f -\n++ cat\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ oc apply -f -\n++ cat\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:33:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:33:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:33:19 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:33:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:33:20 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:33:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:33:21 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-tls-custom-issuers\n=== PAUSE kuttl/harness/ctlplane-tls-custom-issuers\n=== CONT kuttl/harness/ctlplane-tls-custom-issuers\n \ logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | starting test step 0-deploy-custom-issuers\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml\n \ oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml\n \ ]\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | test step completed 0-deploy-custom-issuers\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | starting test step 1-deploy-openstack\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | starting test step 2-\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking rotation of non API service certificates...\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n \ logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)\n logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)\n \ logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack on port 3306...\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal-custom\" \"internal\"\n ]\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Checking issuer of internal certificates...\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-internal-custom\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=internal\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=\n \ logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1\n \ logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + http_status=300\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + return 0\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=svc\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ grep svc\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'All certificates match the custom issuer rootca-internal-custom'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + exit 0\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-ingress-custom\" \"public\"\n ]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking issuer of ingress certificates...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-ingress-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=public\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + http_status=300\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + return 0\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=public\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ grep public\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + break\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-ingress-custom\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + echo 'All certificates match the custom issuer rootca-ingress-custom'\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + exit 0\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | test step completed 2-\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | starting test step 3-deploy-openstack\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | test step completed 3-deploy-openstack\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | starting test step 4-rotate-service-certs\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Deleting secrets...\"\n oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt\n \ oc delete secret -l service-cert -n $NAMESPACE\n ]\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Deleting secrets...\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n \ oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n \ logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking rotation of non API service certificates...\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)\n \ logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)\n \ logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)\n logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n \ logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)\n \ logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack on port 3306...\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal\" \"internal\"\n ]\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of internal certificates...\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=internal\n \ logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=svc\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep svc\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + '[' 1 -eq 1 ']'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-internal'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-public\" \"public\"\n ]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of ingress certificates...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-public\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=public\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=public\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + '[' 1 -eq 1 ']'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-public'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | test step completed 4-rotate-service-certs\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/5-cleanup | starting test step 5-cleanup\n \ logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n \ ]\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | starting test step 6-deploy-openstack\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/6-deploy-openstack | test step completed 6-deploy-openstack\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | starting test step 7-\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking rotation of non API service certificates...\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n \ logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Error retrieving certificate from ceilometer-internal at 10.217.5.90:3000.\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n \ logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n \ logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n \ logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)\n \ logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack-cell1 on port 3306 match the secret.\n \ logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Connecting to openstack on port 3306...\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal\" \"internal\"\n ]\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking issuer of internal certificates...\n \ logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-internal\n \ logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=internal\n \ logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=\n \ logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1\n \ logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + http_status=300\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + return 0\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=svc\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ grep svc\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo ''\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n '' ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + sleep 20\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'All certificates match the custom issuer rootca-internal'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + exit 0\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-public\" \"public\"\n ]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking issuer of ingress certificates...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-public\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=public\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + http_status=300\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + return 0\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=public\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ grep public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local output\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo 'All certificates match the custom issuer rootca-public'\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + exit 0\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-public\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | test step completed 7-\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | starting test step 8-deploy-custom-issuers\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml\n \ oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml\n \ ]\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom unchanged\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom unchanged\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom unchanged\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom unchanged\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | test step completed 8-deploy-custom-issuers\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | starting test step 9-deploy-openstack\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | test step completed 9-deploy-openstack\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | starting test step 10-rotate-service-certs\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Deleting secrets...\"\n oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt\n \ oc delete secret -l service-cert -n $NAMESPACE\n ]\n \ logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Deleting secrets...\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n \ oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n \ logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking rotation of non API service certificates...\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)\n \ logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)\n \ logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n \ logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)\n \ logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack on port 3306...\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal-custom\" \"internal\"\n ]\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of internal certificates...\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal-custom\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=internal\n \ logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=svc\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep svc\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-internal-custom\n \ logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + '[' 1 -eq 1 ']'\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-internal-custom'\n \ logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-ingress-custom\" \"public\"\n ]\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of ingress certificates...\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=public\n \ logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=public\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep public\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + '[' 1 -eq 1 ']'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-ingress-custom'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | test step completed 10-rotate-service-certs\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | starting test step 11-cleanup\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom\n \ oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n \ oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io \"rootca-internal-custom\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io \"rootca-ingress-custom\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-ovn\" deleted\n \ logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers/11-cleanup | test step completed 11-cleanup\n logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (970.91s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-tls-custom-issuers (968.83s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 16m\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ oc apply -f -\n++ cat\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:49:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:49:57 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:49:58 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:49:58 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:49:59 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:49:59 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:49:59 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-tls-custom-route\n=== PAUSE kuttl/harness/ctlplane-tls-custom-route\n=== CONT kuttl/harness/ctlplane-tls-custom-route\n \ logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Ignoring README.md as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | starting test step 1-deploy-openstack\n logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | starting test step 2-deploy-custom-route-secret\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c source ../../common/create_custom_cert.sh\n \ INGRESS_DOMAIN=$(oc get ingresses.config.openshift.io cluster -o jsonpath='{.spec.domain}')\n create_barbican_placement_routes \"${INGRESS_DOMAIN}\" \"${NAMESPACE}\"\n ]\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route certificates for barbican and placement...\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Setting up custom certificate infrastructure in namespace openstack-kuttl-tests...\n \ logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating self-signed issuer in namespace openstack-kuttl-tests...\n \ logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: resource issuers/selfsigned-issuer is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\n \ logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer configured\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'issuer/selfsigned-issuer' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer condition met\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Self-signed issuer is ready\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-ingress-custom in namespace openstack-kuttl-tests...\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom unchanged\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/rootca-ingress-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom condition met\n \ logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-ingress-custom is ready\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom created\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'issuer/rootca-ingress-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom condition met\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-ingress-custom is ready\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-internal-custom in namespace openstack-kuttl-tests...\n logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom unchanged\n logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/rootca-internal-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom condition met\n \ logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-internal-custom is ready\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom created\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'issuer/rootca-internal-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom condition met\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-internal-custom is ready\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom certificate infrastructure setup complete\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for barbican...\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate barbican-custom-route-cert for *.apps-crc.testing...\n \ logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert created\n \ logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/barbican-custom-route-cert' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert condition met\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate barbican-custom-route-cert is ready\n logger.go:42: 12:54:08 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret barbican-custom-route...\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/barbican-custom-route created\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret barbican-custom-route created successfully\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for placement...\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate placement-custom-route-cert for *.apps-crc.testing...\n \ logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert created\n \ logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/placement-custom-route-cert' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert condition met\n logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate placement-custom-route-cert is ready\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret placement-custom-route...\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/placement-custom-route created\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret placement-custom-route created successfully\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificates created successfully\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - barbican-custom-route\n \ logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - placement-custom-route\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c # Generate ConfigMap for kustomize from the placement-custom-route secret\n bash ../../common/prepare_placement_certs.sh\n \ ]\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for placement-custom-route secret to be created...\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Secret placement-custom-route found in namespace openstack-kuttl-tests\n \ logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Fetching certificates from placement-custom-route secret and creating ConfigMap...\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating ConfigMap file at: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml\n \ logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | configmap/placement-cert-data created\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | ConfigMap placement-cert-data created at /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml and applied to namespace openstack-kuttl-tests\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | This file will be used by kustomize as a resource\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | test step completed 2-deploy-custom-route-secret\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | starting test step 3-deploy-openstack\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | running command: [sh -c # Apply OpenStackControlPlane with kustomize (ConfigMap was created in step 02)\n oc kustomize ../../../../config/samples/tls/custom_route_cert | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | configmap/placement-cert-data unchanged\n logger.go:42: 12:54:14 | ctlplane-tls-custom-route/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n \ logger.go:42: 12:54:38 | ctlplane-tls-custom-route/3-deploy-openstack | test step completed 3-deploy-openstack\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | starting test step 4-\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo \"Checking barbican custom route certificate...\"\n bash ../../common/osp_check_route_cert.sh \"barbican\"\n ]\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking barbican custom route certificate...\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | TLS data matches for route barbican in namespace openstack-kuttl-tests.\n \ logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo \"Checking placement custom route certificate...\"\n \ bash ../../common/osp_check_route_cert.sh \"placement\"\n \ ]\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking placement custom route certificate...\n logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | TLS data matches for route placement in namespace openstack-kuttl-tests.\n logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | running command: [sh -c echo \"Verifying placement route override certificates in OpenStackControlPlane...\"\n \ bash ../../common/verify_route_override_certs.sh \"placement\"\n \ ]\n logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates in OpenStackControlPlane...\n \ logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates...\n logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | ✓ All certificates match for placement\n \ logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | test step completed 4-\n logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | starting test step 5-cleanup\n logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom\n \ oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n \ oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io \"rootca-internal-custom\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io \"rootca-ingress-custom\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-ovn\" deleted\n \ logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:55:14 | ctlplane-tls-custom-route/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:55:14 | ctlplane-tls-custom-route | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (316.75s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-tls-custom-route (314.80s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 5m29s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:55:40 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:55:40 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:55:41 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:55:41 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:55:41 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-create-test\n=== PAUSE kuttl/harness/dataplane-create-test\n=== CONT kuttl/harness/dataplane-create-test\n \ logger.go:42: 12:55:41 | dataplane-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n \ logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-ipam created\n logger.go:42: 12:55:43 | dataplane-create-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 12:55:43 | dataplane-create-test | skipping kubernetes event logging\n=== NAME \ kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (3.80s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-create-test (2.14s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 12s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ tr '\\n' ' '\n++ head -c-1\n++ sed -e 's|node/||'\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:56:04 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:56:04 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:56:05 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:56:05 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:56:05 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 12:56:05 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:56:06 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-global-service-test\n=== PAUSE kuttl/harness/dataplane-deploy-global-service-test\n=== CONT \ kuttl/harness/dataplane-deploy-global-service-test\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********le created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ey created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********et updated\nWarning: unknown field \"spec.label\"\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-global-service created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-global created\n logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | starting test step 1-dataplane-deploy\n logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-global created\n logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/1-dataplane-deploy | test step completed 1-dataplane-deploy\n logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | starting test step 2-add-nodeset\n logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created\n logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created\n logger.go:42: 12:59:49 | dataplane-deploy-global-service-test/2-add-nodeset | test step completed 2-add-nodeset\n logger.go:42: 12:59:49 | dataplane-deploy-global-service-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (224.79s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-deploy-global-service-test (223.27s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 3m52s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:00:11 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:00:11 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:00:12 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:00:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:00:12 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-multiple-secrets\n=== PAUSE kuttl/harness/dataplane-deploy-multiple-secrets\n=== CONT kuttl/harness/dataplane-deploy-multiple-secrets\n \ logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Ignoring certs.yaml as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/generic-service1 created\n logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovr created\n logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | starting test step 1-create-cert-issuers\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | running command: [sh -c function wait_for() {\n timeout=$1\n \ shift 1\n until [ $timeout -le 0 ] || (\"$@\" &> /dev/null); do\n echo waiting for \"$@\"\n sleep 1\n timeout=$(( timeout - 1 ))\n done\n if [ $timeout -le 0 ]; then\n return 1\n fi\n }\n \ \n if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi\n oc apply -f ./certs.yaml\n wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests\n CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r '.data.\"ca.crt\"')\n oc create secret generic combined-ca-bundle \ -n openstack-kuttl-tests --from-literal=TLSCABundleFile=$CA_CRT\n \ ]\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Error from server (NotFound): secrets \"combined-ca-bundle\" not found\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer created\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca created\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal created\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | secret/combined-ca-bundle created\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | test step completed 1-create-cert-issuers\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | starting test step 2-dataplane-deploy\nWarning: unknown field \"spec.services\"\n \ logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets \"cert-generic-service1-default-edpm-compute-0\" not found\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: \n logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets \"cert-generic-service1-default-edpm-compute-0\" not found\n logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: \n logger.go:42: 13:00:37 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:39 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:40 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:41 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:42 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:43 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:45 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:46 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:47 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:48 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:49 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:51 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | test step completed 2-dataplane-deploy\n logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (41.27s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-deploy-multiple-secrets (39.74s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 49s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ tr '\\n' ' '\n++ head -c-1\n++ sed -e 's|node/||'\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:01:12 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:01:12 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:01:13 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:01:13 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:01:14 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:01:14 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:01:14 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-no-nodes-test\n=== PAUSE kuttl/harness/dataplane-deploy-no-nodes-test\n=== CONT kuttl/harness/dataplane-deploy-no-nodes-test\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ey created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********et updated\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | starting test step 1-dataplane-deploy\n logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | test step completed 1-dataplane-deploy\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | starting test step 2-dataplane-deploy-services-override\nWarning: unknown field \"spec.label\"\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-svc created\n \ logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-ovrd created\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | test step completed 2-dataplane-deploy-services-override\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | starting test step 3-update-ovn-cm\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | running command: [sh -c sleep 30]\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | ConfigMap:openstack-kuttl-tests/ovncontroller-config updated\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | test step completed 3-update-ovn-cm\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | starting test step 4-dataplane-deploy\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-updated-ovn-cm created\n logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | test step completed 4-dataplane-deploy\n logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | starting test step 5-dataplane-deploy-service-not-found\n logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-non-existent-service created\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | test step completed 5-dataplane-deploy-service-not-found\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | starting test step 6-add-nodeset\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created\n logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/6-add-nodeset | test step completed 6-add-nodeset\n logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | starting test step 7-dataplane-deploy-node-selector\n logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-node-selection created\n logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | test step completed 7-dataplane-deploy-node-selector\n logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n \ harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (229.88s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-deploy-no-nodes-test (228.12s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 3m57s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:05:24 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:05:24 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:05:25 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:05:25 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:05:26 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:05:26 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:05:26 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-tls-test\n=== PAUSE kuttl/harness/dataplane-deploy-tls-test\n=== CONT kuttl/harness/dataplane-deploy-tls-test\n \ logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Ignoring certs.yaml as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dnsnames created\n \ logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd created\n logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n \ logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | starting test step 1-create-cert-issuers\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | running command: [sh -c function wait_for() {\n timeout=$1\n \ shift 1\n until [ $timeout -le 0 ] || (\"$@\" &> /dev/null); do\n echo waiting for \"$@\"\n sleep 1\n timeout=$(( timeout - 1 ))\n done\n if [ $timeout -le 0 ]; then\n return 1\n fi\n }\n \ \n if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi\n oc apply -f ./certs.yaml\n wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests\n CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r '.data.\"ca.crt\"')\n oc create secret generic combined-ca-bundle \ -n openstack-kuttl-tests --from-literal=tls-ca-bundle.pem=$CA_CRT\n \ ]\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | NAME TYPE DATA AGE\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | combined-ca-bundle \ Opaque 1 5m2s\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | secret \"combined-ca-bundle\" deleted\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer unchanged\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca unchanged\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal unchanged\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | secret/combined-ca-bundle created\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | test step completed 1-create-cert-issuers\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | starting test step 2-dataplane-deploy\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:41 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:42 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:45 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:46 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | test step completed 2-dataplane-deploy\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | starting test step 3-dataplane-deploy-services-override\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dns-ips created\n \ logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-tls-dns created\n \ logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd updated\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls-ovrd created\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | Error from server (NotFound): certificates.cert-manager.io \"custom-tls-dns-default-edpm-compute-0\" not found\n logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | bad dnsnames match: \n logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | command failure, skipping 1 additional commands\n logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n \ regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n \ regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n ]\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | test step completed 3-dataplane-deploy-services-override\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | starting test step 4-rotate-certs\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | running command: [oc delete -n openstack-kuttl-tests secrets cert-custom-tls-dns-default-edpm-compute-0 cert-tls-dns-ips-default-edpm-compute-0]\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret \"cert-custom-tls-dns-default-edpm-compute-0\" deleted\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret \"cert-tls-dns-ips-default-edpm-compute-0\" deleted\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | test step completed 4-rotate-certs\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | starting test step 5-dataplane-redeploy\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/certs-refresh created\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n echo $PNAME\n if [ -z \"$PNAME\" ]; then\n \ echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n echo $PNAME\n if [ -z \"$PNAME\" ]; then\n \ echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n echo $PNAME\n if [ -z \"$PNAME\" ]; then\n \ echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n echo $PNAME\n if [ -z \"$PNAME\" ]; then\n \ echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:24 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n echo $PNAME\n if [ -z \"$PNAME\" ]; then\n \ echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n echo $PNAME\n if [ -z \"$PNAME\" ]; then\n \ echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n \ serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n \ if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5\n \ logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=4B1E244450A4005B45606430C180271D\n logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod's hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]\n logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-bm6z8 ...\n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...\n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=4B1E244450A4005B45606430C180271D\n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=B9466059D5B3A04CA0D53314A1F54F18\n logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod's hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]\n \ logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-pcs86 ...\n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...\n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=B9466059D5B3A04CA0D53314A1F54F18\n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | test step completed 5-dataplane-redeploy\n logger.go:42: 13:06:31 | dataplane-deploy-tls-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (67.02s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-deploy-tls-test (65.42s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 74s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ oc apply -f -\n++ cat\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:06:52 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:06:52 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:06:53 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:06:53 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:06:54 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:06:54 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:06:54 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-extramounts\n=== PAUSE kuttl/harness/dataplane-extramounts\n=== CONT kuttl/harness/dataplane-extramounts\n \ logger.go:42: 13:06:54 | dataplane-extramounts | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | starting test step 0-dataplane-create\nWarning: unknown field \"spec.label\"\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/test-service created\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-extramounts created\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-extramounts created\n logger.go:42: 13:07:09 | dataplane-extramounts/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:07:09 | dataplane-extramounts | skipping kubernetes event logging\n=== NAME \ kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (16.82s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-extramounts (15.21s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 24s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ oc apply -f -\n++ cat\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:07:30 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:07:30 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:07:31 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:07:31 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:07:31 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:07:31 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:07:32 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-multinode-nodeset-create-test\n=== PAUSE kuttl/harness/dataplane-multinode-nodeset-create-test\n=== CONT \ kuttl/harness/dataplane-multinode-nodeset-create-test\n logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode created\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | starting test step 1-dataplane-scale-in\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | running command: [sh -c oc patch openstackdataplanenodeset/openstack-edpm-multinode -n openstack-kuttl-tests --type json --patch '[{ \"op\": \"remove\", \"path\": \"/spec/nodes/edpm-compute-1\" }]'\n ]\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | openstackdataplanenodeset.dataplane.openstack.org/openstack-edpm-multinode patched\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | test step completed 1-dataplane-scale-in\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | starting test step 2-dataplane-scale-out\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode updated\n logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | test step completed 2-dataplane-scale-out\n logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n \ harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (44.91s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-multinode-nodeset-create-test (43.19s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ grep Bound\n++ awk '{print $6}'\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 53s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:08:37 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:08:37 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:08:38 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:08:38 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:08:38 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-service-config\n=== PAUSE kuttl/harness/dataplane-service-config\n=== CONT kuttl/harness/dataplane-service-config\n \ logger.go:42: 13:08:38 | dataplane-service-config | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | starting test step 0-create\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-0 created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-1 created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-2 created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/kuttl-service created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:09:00 | dataplane-service-config/0-create | test step completed 0-create\n logger.go:42: 13:09:00 | dataplane-service-config | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (22.90s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-service-config (21.27s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ awk '{print $1}'\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 30s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ oc apply -f -\n++ cat\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:09:20 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:09:20 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:09:21 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:09:21 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:09:21 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:09:21 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:09:22 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-service-custom-image\n=== PAUSE kuttl/harness/dataplane-service-custom-image\n=== CONT kuttl/harness/dataplane-service-custom-image\n \ logger.go:42: 13:09:22 | dataplane-service-custom-image | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-img-svc created\n \ logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-no-nodes-custom-svc created\n logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:09:37 | dataplane-service-custom-image/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:09:37 | dataplane-service-custom-image | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (17.04s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-service-custom-image (15.25s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ awk '{print $1}'\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE \ ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 24s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:09:59 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:09:59 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:10:00 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:10:00 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:10:01 | | dnsmasq.network.openstack.org/dnsmasq configured\n logger.go:42: 13:10:01 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n \ --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n \ --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n \ -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:10:01 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n \ harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-service-failure\n=== PAUSE kuttl/harness/dataplane-service-failure\n=== CONT kuttl/harness/dataplane-service-failure\n \ logger.go:42: 13:10:01 | dataplane-service-failure | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:10:01 | dataplane-service-failure/0-create | starting test step 0-create\n logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/failed-service created\n \ logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:11:43 | dataplane-service-failure/0-create | test step completed 0-create\n logger.go:42: 13:11:43 | dataplane-service-failure | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (103.90s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-service-failure (102.23s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake openstack_deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml\nnamespace/openstack-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-kuttl-tests Active\noc project openstack-kuttl-tests\nNow using project \"openstack-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake openstack_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\n# TODO: Once https://issues.redhat.com/browse/OSPRH-13217 is properly resolved, the\n# explicit calls to \"oc delete\" the webhooks can be removed below\nif oc get openstack &>/dev/null; then oc delete --ignore-not-found=true openstack/openstack \\\n&& oc delete mutatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator \\\n&& oc delete validatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator; fi\nopenstack.operator.openstack.org \"openstack\" deleted\nNo resources found\nNo resources found\noc delete subscription --all=true\nsubscription.operators.coreos.com \"openstack-operator\" deleted\noc delete csv --all=true\nclusterserviceversion.operators.coreos.com \"cluster-observability-operator.v1.3.0\" deleted\nclusterserviceversion.operators.coreos.com \"metallb-operator.v4.18.0-202511181540\" deleted\nclusterserviceversion.operators.coreos.com \"openstack-operator.v0.5.0\" deleted\noc delete catalogsource --all=true\ncatalogsource.operators.coreos.com \"openstack-operator-index\" deleted\ntest -d /home/zuul/ci-framework-data/artifacts/manifests/operator/baremetal-operator && make crc_bmo_cleanup || true\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml - namespace/openstack-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-kuttl-tests Active - oc project openstack-kuttl-tests - Now using project "openstack-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z openstack-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - 'error: the server doesn''t have a resource type "RabbitmqCluster"' - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/rabbitmq/cr - bash scripts/validate-marketplace.sh - + '[' -z 500s ']' - + OPERATOR_NAMESPACE=openshift-marketplace - ++ oc get pods --no-headers -n openshift-marketplace - ++ grep -viE 'running|completed' - + not_running_pods= - + '[' -z '' ']' - + echo 'All openshift-marketplace pods seems to me fine' - All openshift-marketplace pods seems to me fine - + OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator' - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep openshift-cert-manager-operator - openshift-cert-manager-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + grep kubernetes-nmstate-operator - + oc get packagemanifests -n openshift-marketplace - kubernetes-nmstate-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep metallb-operator - metallb-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openshift-nmstate ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/namespace.yaml - namespace/openshift-nmstate created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openshift-nmstate); do sleep 1; done" - NAME DISPLAY NAME STATUS - openshift-nmstate Active - bash scripts/gen-olm-nmstate.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - operatorgroup.operators.coreos.com/openshift-nmstate-tn6k8 created - subscription.operators.coreos.com/kubernetes-nmstate-operator created - timeout 500s bash -c "while ! (oc get deployments/nmstate-operator -n openshift-nmstate); do sleep 10; done" - 'Error from server (NotFound): deployments.apps "nmstate-operator" not found' - 'Error from server (NotFound): deployments.apps "nmstate-operator" not found' - NAME READY UP-TO-DATE AVAILABLE AGE - nmstate-operator 1/1 1 1 9s - oc wait deployments/nmstate-operator -n openshift-nmstate --for condition=Available --timeout=500s - deployment.apps/nmstate-operator condition met - timeout 500s bash -c "while ! (oc wait pod -n openshift-apiserver -l apiserver=true --for condition=Ready); do sleep 10; done" - pod/apiserver-76f77b778f-dmvst condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - nmstate.nmstate.io/nmstate created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=kubernetes-nmstate-handler -n openshift-nmstate| grep nmstate-handler); do sleep 10; done" - No resources found in openshift-nmstate namespace. - nmstate-handler-qggff 0/1 Running 0 10s - oc wait pod -n openshift-nmstate -l component=kubernetes-nmstate-handler --for condition=Ready --timeout=500s - pod/nmstate-handler-qggff condition met - timeout 500s bash -c "while ! (oc get deployments/nmstate-webhook -n openshift-nmstate); do sleep 10; done" - NAME READY UP-TO-DATE AVAILABLE AGE - nmstate-webhook 0/1 1 0 11s - oc wait deployments/nmstate-webhook -n openshift-nmstate --for condition=Available --timeout=500s - deployment.apps/nmstate-webhook condition met - WORKERS='crc' \ - bash scripts/gen-nncp.sh - + check_var_set DEPLOY_DIR - + [[ ! -v DEPLOY_DIR ]] - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr - + check_var_set WORKERS - + [[ ! -v WORKERS ]] - + check_var_set INTERFACE - + [[ ! -v INTERFACE ]] - + check_var_set BRIDGE_NAME - + [[ ! -v BRIDGE_NAME ]] - + check_var_set INTERFACE_MTU - + [[ ! -v INTERFACE_MTU ]] - + check_var_set VLAN_START - + [[ ! -v VLAN_START ]] - + check_var_set VLAN_STEP - + [[ ! -v VLAN_STEP ]] - + check_var_set VLAN_STEP - + [[ ! -v VLAN_STEP ]] - + check_var_set INTERNALAPI_PREFIX - + [[ ! -v INTERNALAPI_PREFIX ]] - + check_var_set STORAGE_PREFIX - + [[ ! -v STORAGE_PREFIX ]] - + check_var_set STORAGEMGMT_PREFIX - + [[ ! -v STORAGEMGMT_PREFIX ]] - + check_var_set TENANT_PREFIX - + [[ ! -v TENANT_PREFIX ]] - + check_var_set DESIGNATE_PREFIX - + [[ ! -v DESIGNATE_PREFIX ]] - + check_var_set DESIGNATE_EXT_PREFIX - + [[ ! -v DESIGNATE_EXT_PREFIX ]] - + '[' -n '' ']' - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr - + echo WORKERS crc - WORKERS crc - + echo INTERFACE ens7 - INTERFACE ens7 - + echo BRIDGE_NAME ospbr - BRIDGE_NAME ospbr - + echo INTERFACE_BGP_1 - INTERFACE_BGP_1 - + echo INTERFACE_BGP_2 - INTERFACE_BGP_2 - + echo INTERFACE_MTU 1500 - INTERFACE_MTU 1500 - + echo VLAN_START 20 - VLAN_START 20 - + echo VLAN_STEP 1 - VLAN_STEP 1 - + echo STORAGE_MACVLAN - STORAGE_MACVLAN - + '[' -n true ']' - + echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - + echo CTLPLANE_IP_ADDRESS_SUFFIX 10 - CTLPLANE_IP_ADDRESS_SUFFIX 10 - + '[' -n '' ']' - + '[' -n '' ']' - + IP_ADDRESS_SUFFIX=5 - + IPV6_ADDRESS_SUFFIX=5 - + rm --force '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/*_nncp.yaml' - + internalapi_vlan_id=20 - + storage_vlan_id=21 - + tenant_vlan_id=22 - + storagemgmt_vlan_id=23 - + octavia_vlan_id=24 - + designate_vlan_id=25 - + designate_ext_vlan_id=26 - + for WORKER in ${WORKERS} - + cat - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n '' ']' - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n '' ']' - + cat - + IP_ADDRESS_SUFFIX=6 - + IPV6_ADDRESS_SUFFIX=6 - + CTLPLANE_IP_ADDRESS_SUFFIX=11 - + CTLPLANE_IPV6_ADDRESS_SUFFIX=1 - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/ - nodenetworkconfigurationpolicy.nmstate.io/ens7-crc created - timeout 240s bash -c "while ! (oc wait nncp -l osp/interface=ens7 --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured); do sleep 10; done" - nodenetworkconfigurationpolicy.nmstate.io/ens7-crc condition met - if test -n "192.168.122.10"; then oc patch dns.operator/default --type merge -p '{"spec":{"upstreamResolvers":{"policy":"Sequential","upstreams":[{"type":"Network","address":"'192.168.122.10'","port":53},{"type":"SystemResolvConf"}]}}}'; fi - dns.operator.openshift.io/default patched - timeout 240s bash -c "while ! (oc wait dns.operator/default --for condition=available); do sleep 10; done" - dns.operator.openshift.io/default condition met - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator created - subscription.operators.coreos.com/metallb-operator-sub created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - No resources found in metallb-system namespace. - No resources found in metallb-system namespace. - metallb-operator-controller-manager-b9dd667db-j4qd7 0/1 ContainerCreating 0 1s - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 40s - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - No resources found in metallb-system namespace. - speaker-56dnr 1/2 Running 0 10s - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - make operator_namespace - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z cert-manager-operator ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/namespace.yaml - namespace/cert-manager-operator created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io cert-manager-operator); do sleep 1; done" - NAME DISPLAY NAME STATUS - cert-manager-operator Active - oc project cert-manager-operator - Now using project "cert-manager-operator" on server "https://api.crc.testing:6443". - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-olm-cert-manager.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']' - + '[' -z cert-manager-operator ']' - + '[' -z stable-v1 ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - + echo OPERATOR_NAMESPACE cert-manager-operator - OPERATOR_NAMESPACE cert-manager-operator - + echo CHANNEL stable-v1 - CHANNEL stable-v1 - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - operatorgroup.operators.coreos.com/cert-manager-operator-bccwx created - subscription.operators.coreos.com/openshift-cert-manager-operator created - while ! (oc get pod --no-headers=true -l name=cert-manager-operator -n cert-manager-operator| grep "cert-manager-operator"); do sleep 10; done - No resources found in cert-manager-operator namespace. - No resources found in cert-manager-operator namespace. - cert-manager-operator-controller-manager-64cf6dff88-bzrrx 0/1 ContainerCreating 0 7s - oc wait pod -n cert-manager-operator --for condition=Ready -l name=cert-manager-operator --timeout=300s - pod/cert-manager-operator-controller-manager-64cf6dff88-bzrrx condition met - while ! (oc get pod --no-headers=true -l app=cainjector -n cert-manager | grep "cert-manager-cainjector"); do sleep 10; done - No resources found in cert-manager namespace. - cert-manager-cainjector-855d9ccff4-5pthb 0/1 ContainerCreating 0 6s - oc wait pod -n cert-manager -l app=cainjector --for condition=Ready --timeout=300s - pod/cert-manager-cainjector-855d9ccff4-5pthb condition met - while ! (oc get pod --no-headers=true -l app=webhook -n cert-manager | grep "cert-manager-webhook"); do sleep 10; done - cert-manager-webhook-f4fb5df64-z8l9s 0/1 Running 0 10s - oc wait pod -n cert-manager -l app=webhook --for condition=Ready --timeout=300s - pod/cert-manager-webhook-f4fb5df64-z8l9s condition met - while ! (oc get pod --no-headers=true -l app=cert-manager -n cert-manager | grep "cert-manager"); do sleep 10; done - cert-manager-86cb77c54b-jdfq2 1/1 Running 0 3s - oc wait pod -n cert-manager -l app=cert-manager --for condition=Ready --timeout=300s - pod/cert-manager-86cb77c54b-jdfq2 condition met - bash scripts/gen-netatt.sh - + check_var_set DEPLOY_DIR - + [[ ! -v DEPLOY_DIR ]] - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr - + check_var_set INTERFACE - + [[ ! -v INTERFACE ]] - + check_var_set BRIDGE_NAME - + [[ ! -v BRIDGE_NAME ]] - + check_var_set VLAN_START - + [[ ! -v VLAN_START ]] - + check_var_set VLAN_STEP - + [[ ! -v VLAN_STEP ]] - + '[' -z true ']' - + '[' -n true ']' - + '[' -n '' ']' - + '[' -n true ']' - + check_var_set INTERNALAPI_PREFIX - + [[ ! -v INTERNALAPI_PREFIX ]] - + check_var_set STORAGE_PREFIX - + [[ ! -v STORAGE_PREFIX ]] - + check_var_set STORAGEMGMT_PREFIX - + [[ ! -v STORAGEMGMT_PREFIX ]] - + check_var_set TENANT_PREFIX - + [[ ! -v TENANT_PREFIX ]] - + check_var_set DESIGNATE_PREFIX - + [[ ! -v DESIGNATE_PREFIX ]] - + check_var_set DESIGNATE_EXT_PREFIX - + [[ ! -v DESIGNATE_EXT_PREFIX ]] - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr - + echo INTERFACE ens7 - INTERFACE ens7 - + echo VLAN_START 20 - VLAN_START 20 - + echo VLAN_STEP 1 - VLAN_STEP 1 - + '[' -n true ']' - + echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - + echo CTLPLANE_IP_ADDRESS_SUFFIX 10 - CTLPLANE_IP_ADDRESS_SUFFIX 10 - + echo 'INTERNALAPI_PREFIX 172.17.0' - INTERNALAPI_PREFIX 172.17.0 - + echo 'STORAGE_PREFIX 172.18.0' - STORAGE_PREFIX 172.18.0 - + echo 'STORAGEMGMT_PREFIX 172.20.0' - STORAGEMGMT_PREFIX 172.20.0 - + echo 'TENANT_PREFIX 172.19.0' - TENANT_PREFIX 172.19.0 - + echo 'DESIGNATE_PREFIX 172.28.0' - DESIGNATE_PREFIX 172.28.0 - + echo 'DESIGNATE_PREFIX 172.50.0' - DESIGNATE_PREFIX 172.50.0 - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + cat - + '[' -n '' ']' - + '[' -n '' ']' - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr/ - networkattachmentdefinition.k8s.cni.cncf.io/ctlplane created - networkattachmentdefinition.k8s.cni.cncf.io/datacentre created - networkattachmentdefinition.k8s.cni.cncf.io/designate created - networkattachmentdefinition.k8s.cni.cncf.io/designateext created - networkattachmentdefinition.k8s.cni.cncf.io/internalapi created - networkattachmentdefinition.k8s.cni.cncf.io/octavia created - networkattachmentdefinition.k8s.cni.cncf.io/storage created - networkattachmentdefinition.k8s.cni.cncf.io/storagemgmt created - networkattachmentdefinition.k8s.cni.cncf.io/tenant created - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml" does not exist' - 'make: [Makefile:2551: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml" does not exist' - 'make: [Makefile:2552: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml" does not exist' - 'make: [Makefile:2553: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml" does not exist' - 'make: [Makefile:2554: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml" does not exist' - 'make: [Makefile:2555: metallb_config_cleanup] Error 1 (ignored)' - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml - bash scripts/gen-metallb-config.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' -z ens7 ']' - + '[' -z ospbr ']' - + '[' -z 64999 ']' - + '[' -z 64999 ']' - + '[' -z 100.65.4.1 ']' - + '[' -z 100.64.4.1 ']' - + '[' -z 172.30.4.2 ']' - + '[' -z true ']' - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE ens7 - INTERFACE ens7 - + echo CTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90 - CTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90 - + echo CTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90 - CTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90 - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml - ipaddresspool.metallb.io/ctlplane created - ipaddresspool.metallb.io/internalapi created - ipaddresspool.metallb.io/storage created - ipaddresspool.metallb.io/tenant created - ipaddresspool.metallb.io/designateext created - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml - l2advertisement.metallb.io/ctlplane created - l2advertisement.metallb.io/internalapi created - l2advertisement.metallb.io/storage created - l2advertisement.metallb.io/tenant created - l2advertisement.metallb.io/designateext created - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' -z quay.io/openstack-k8s-operators/openstack-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=openstack-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE openstack-operator-index - OPERATOR_SOURCE openstack-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - 'Warning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - namespace/openstack-operators configured - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - catalogsource.operators.coreos.com/openstack-operator-index created - operatorgroup.operators.coreos.com/openstack created - subscription.operators.coreos.com/openstack-operator created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - bash -c "test -d /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator || CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator' - Cloning into 'openstack-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z openstack-kuttl-tests ']' - + '[' -z OpenStackControlPlane ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - ~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ OpenStackControlPlane == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ '' != '' ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' OpenStackControlPlane == OpenStackControlPlane ']' - + cat - + '[' OpenStackControlPlane == Galera ']' - + '[' OpenStackControlPlane == NetConfig ']' - + '[' -n '' ']' - + [[ OpenStackControlPlane == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ true == \t\r\u\e ]] - + cat - + [[ OpenStackControlPlane == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -z true ']' - + cat - + '[' -n '' ']' - + '[' -z true ']' - + '[' -n true ']' - + '[' -n '' ']' - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - '# Wait until OLM installs openstack CRDs' - timeout 500s bash -c "while ! (oc get crd openstacks.operator.openstack.org); do sleep 1; done" - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - NAME CREATED AT - openstacks.operator.openstack.org 2025-12-03T11:35:12Z - make openstack_init - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - '# call make_openstack if it isn''t already' - bash -c '(oc get subscription -n openstack-operators openstack-operator || make openstack) || true' - NAME PACKAGE SOURCE CHANNEL - openstack-operator openstack-operator openstack-operator-index alpha - timeout 500s bash -c 'until $(oc get csv -l operators.coreos.com/openstack-operator.openstack-operators -n openstack-operators | grep -q Succeeded); do sleep 1; done' - bash -c 'test -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml || make openstack_repo' - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml - openstack.operator.openstack.org/openstack created - '# FIXME: Ugly hack to prevent OpenStack Baremetal operator from crashing when BMO is not installed' - if ! echo "" | grep -q "baremetalhosts.metal3.io"; then \ - "\tcurl -o /tmp/bmh_crd.yaml --retry-all-errors --retry 5 --retry-delay 10 https://raw.githubusercontent.com/metal3-io/baremetal-operator/refs/heads/main/config/base/crds/bases/metal3.io_baremetalhosts.yaml; \\" - "\toc apply -f /tmp/bmh_crd.yaml; \\" - "\trm -f /tmp/bmh_crd.yaml; \\" - fi - ' % Total % Received % Xferd Average Speed Time Time Time Current' - ' Dload Upload Total Spent Left Speed' - '' - ' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0' - 100 61932 100 61932 0 0 1008k 0 --:--:-- --:--:-- --:--:-- 1025k - customresourcedefinition.apiextensions.k8s.io/baremetalhosts.metal3.io created - oc wait openstack/openstack -n openstack-operators --for condition=Ready --timeout=500s - openstack.operator.openstack.org/openstack condition met - timeout 500s bash -c "while ! (oc get services -n openstack-operators | grep -E '^(openstack|openstack-baremetal|infra)-operator-webhook-service' | wc -l | grep -q -e 3); do sleep 5; done" - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make openstack_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - set -e; \ - for test_dir in ctlplane-basic-deployment ctlplane-basic-deployment-with-nicMappings ctlplane-collapsed ctlplane-galera-3replicas ctlplane-galera-basic ctlplane-nodeselectors ctlplane-tls-cert-rotation ctlplane-tls-custom-issuers ctlplane-tls-custom-route dataplane-create-test dataplane-deploy-global-service-test dataplane-deploy-multiple-secrets dataplane-deploy-no-nodes-test dataplane-deploy-tls-test dataplane-extramounts dataplane-multinode-nodeset-create-test dataplane-service-config dataplane-service-custom-image dataplane-service-failure; do \ - ' oc delete osctlplane --all --namespace openstack-kuttl-tests; \' - "\tmake crc_storage_cleanup_with_retries; \\" - "\tmake crc_storage_with_retries; \\" - "\tkubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests --test ${test_dir}; \\" - done - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Now using project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - No resources found - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - No resources found - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 5m13s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage created - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage created - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role created - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding created - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ oc apply -f - - ++ cat - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - 'Warning: resource persistentvolumes/local-storage01-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage01-crc configured - 'Warning: resource persistentvolumes/local-storage02-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage02-crc configured - 'Warning: resource persistentvolumes/local-storage03-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage03-crc configured - 'Warning: resource persistentvolumes/local-storage04-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage04-crc configured - 'Warning: resource persistentvolumes/local-storage05-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage05-crc configured - 'Warning: resource persistentvolumes/local-storage06-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage06-crc configured - 'Warning: resource persistentvolumes/local-storage07-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage07-crc configured - 'Warning: resource persistentvolumes/local-storage08-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage08-crc configured - 'Warning: resource persistentvolumes/local-storage09-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage09-crc configured - 'Warning: resource persistentvolumes/local-storage10-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage10-crc configured - 'Warning: resource persistentvolumes/local-storage11-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage11-crc configured - 'Warning: resource persistentvolumes/local-storage12-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage12-crc configured - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs created - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 11:37:09 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 11:37:09 | | netconfig.network.openstack.org/netconfig created' - ' logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 11:37:10 | | dnsmasq.network.openstack.org/dnsmasq created' - ' logger.go:42: 11:37:10 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 11:37:11 | | Generating public/private rsa key pair.' - ' logger.go:42: 11:37:11 | | Your identification has been saved in ansibleee-ssh-key-id_rsa' - ' logger.go:42: 11:37:11 | | Your public key has been saved in ansibleee-ssh-key-id_rsa.pub' - ' logger.go:42: 11:37:11 | | The key fingerprint is:' - ' logger.go:42: 11:37:11 | | SHA256:qxhPU/5ulNTTSrk46ghwjg7M6zlDD/MK3npnUfGx29A zuul@controller' - ' logger.go:42: 11:37:11 | | The key''s randomart image is:' - ' logger.go:42: 11:37:11 | | +---[RSA 4096]----+' - ' logger.go:42: 11:37:11 | | | |' - ' logger.go:42: 11:37:11 | | | . . |' - ' logger.go:42: 11:37:11 | | | o +. o |' - ' logger.go:42: 11:37:11 | | | . +.E= . |' - ' logger.go:42: 11:37:11 | | | . . . S.++ + |' - ' logger.go:42: 11:37:11 | | |o+ = . o o=.o |' - ' logger.go:42: 11:37:11 | | |+o* + + oo . |' - ' logger.go:42: 11:37:11 | | |o=++ O +... |' - ' logger.go:42: 11:37:11 | | |.BB.+ +..oo |' - ' logger.go:42: 11:37:11 | | +----[SHA256]-----+' - ' logger.go:42: 11:37:11 | | secret/dataplane-ansible-ssh-private-key-secret created' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-basic-deployment - === PAUSE kuttl/harness/ctlplane-basic-deployment - === RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === CONT kuttl/harness/ctlplane-basic-deployment - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | starting test step 2-deploy-custom-cacert-secret' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-ca.yaml' - ' ]' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | secret/ca-custom-kuttl created' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | test step completed 2-deploy-custom-cacert-secret' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | starting test step 3-deploy-custom-cacert' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_ca | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | test step completed 3-deploy-custom-cacert' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | starting test step 4-' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | running command: [sh -c echo "Checking ca-custom-kuttl.pem is present in combined-ca-bundle..."' - ' CUSTOM_CERT_CONTENT=$(oc get secret ca-custom-kuttl -n $NAMESPACE -o jsonpath="{.data[''ca-custom-kuttl\.pem'']}" | base64 --decode | tr -d ''\n'')' - ' TLS_BUNDLE_CONTENT=$(oc get secret combined-ca-bundle -n $NAMESPACE -o jsonpath="{.data[''tls-ca-bundle\.pem'']}" | base64 --decode | tr -d ''\n'')' - ' if [[ "$TLS_BUNDLE_CONTENT" == *"$CUSTOM_CERT_CONTENT"* ]]; then' - ' echo "OK"' - ' exit 0' - ' else' - ' echo "Not present"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | Checking ca-custom-kuttl.pem is present in combined-ca-bundle...' - ' logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | OK' - ' logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | test step completed 4-' - ' logger.go:42: 11:42:22 | ctlplane-basic-deployment/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 11:42:23 | ctlplane-basic-deployment/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment | skipping kubernetes event logging' - === CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml' - ' ]' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre configured' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "replace",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' "value":{"datacentre":"ospbr"}' - ' }]''' - ' ]' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings' - ' logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "remove",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' }]''' - ' ]' - ' logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:48 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:49 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:51 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:52 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:53 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:54 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:56 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:57 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:58 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:00 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:01 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:02 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:04 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:05 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:06 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:08 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:09 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:10 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:11 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:13 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:14 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:15 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:17 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:18 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:19 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovncontroller-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (644.02s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-basic-deployment (354.54s)' - ' --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (287.89s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 2 - + NAME=persistence-rabbitmq-cell1-server-0 - + oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found - persistentvolumeclaim "persistence-rabbitmq-cell1-server-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 11m - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - ++ oc get pv -o json - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 11:48:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 11:48:55 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 11:48:56 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 11:48:56 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 11:48:56 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings - ' logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings' - ' logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml' - ' ]' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre unchanged' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack' - ' logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings' - ' logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "replace",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' "value":{"datacentre":"ospbr"}' - ' }]''' - ' ]' - ' logger.go:42: 11:54:35 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "remove",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' }]''' - ' ]' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:41 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:43 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovncontroller-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (387.57s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (385.99s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m37s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ oc apply -f - - ++ cat - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ tr '\n' ' ' - ++ head -c-1 - ++ sed -e 's|node/||' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 11:55:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 11:55:45 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 11:55:46 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 11:55:46 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 11:55:46 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-collapsed - === PAUSE kuttl/harness/ctlplane-collapsed - === CONT kuttl/harness/ctlplane-collapsed - ' logger.go:42: 11:55:46 | ctlplane-collapsed | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | starting test step 0-deps' - ' logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | running command: [sh -c oc apply -f ../../common/rhobs.yaml' - ' until oc api-resources | grep -q rhobs; do sleep 1; done' - ' ]' - ' logger.go:42: 11:55:47 | ctlplane-collapsed/0-deps | subscription.operators.coreos.com/cluster-observability-operator created' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/0-deps | test step completed 0-deps' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | starting test step 1-deploy-openstack-collapsed-cell' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml' - ' ]' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | openstackcontrolplane.core.openstack.org/openstack-collapsed-cell created' - ' logger.go:42: 12:01:10 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | test step completed 1-deploy-openstack-collapsed-cell' - ' logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | starting test step 2-cleanup' - ' logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | running command: [sh -c oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-metric-storage-prometheus-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-watcher-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-watcher-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-watcher-public-svc" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:01:44 | ctlplane-collapsed/2-cleanup | test step completed 2-cleanup' - ' logger.go:42: 12:01:44 | ctlplane-collapsed | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (359.28s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-collapsed (357.70s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0 - ++ cut -d / -f 2 - + NAME=prometheus-metric-storage-db-prometheus-metric-storage-0 - + oc delete -n openstack-kuttl-tests pvc/prometheus-metric-storage-db-prometheus-metric-storage-0 --ignore-not-found - persistentvolumeclaim "prometheus-metric-storage-db-prometheus-metric-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m7s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ oc apply -f - - ++ cat - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:02:07 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:02:07 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:02:11 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:02:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:02:12 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:02:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:02:12 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-galera-3replicas - === PAUSE kuttl/harness/ctlplane-galera-3replicas - === CONT kuttl/harness/ctlplane-galera-3replicas - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | starting test step 1-deploy-galera-3replicas' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml' - ' ]' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | openstackcontrolplane.core.openstack.org/openstack-galera-3replicas created' - ' logger.go:42: 12:08:24 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | test step completed 1-deploy-galera-3replicas' - ' logger.go:42: 12:08:24 | ctlplane-galera-3replicas/2-cleanup | starting test step 2-cleanup' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' mysql-db-openstack-galera-0 \' - ' mysql-db-openstack-galera-1 \' - ' mysql-db-openstack-galera-2 \' - ' mysql-db-openstack-cell1-galera-0 \' - ' mysql-db-openstack-cell1-galera-1 \' - ' mysql-db-openstack-cell1-galera-2' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-0" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-1" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-2" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-1" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-2" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:08:59 | ctlplane-galera-3replicas/2-cleanup | test step completed 2-cleanup' - ' logger.go:42: 12:08:59 | ctlplane-galera-3replicas | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (412.15s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-galera-3replicas (406.80s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 2 - + NAME=persistence-rabbitmq-cell1-server-0 - + oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found - persistentvolumeclaim "persistence-rabbitmq-cell1-server-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 7m32s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ oc apply -f - - ++ cat - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:09:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:09:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:09:56 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:09:56 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:09:57 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:09:57 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:09:57 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-galera-basic - === PAUSE kuttl/harness/ctlplane-galera-basic - === CONT kuttl/harness/ctlplane-galera-basic - ' logger.go:42: 12:09:57 | ctlplane-galera-basic | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | starting test step 1-deploy-galera' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera.yaml' - ' ]' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | openstackcontrolplane.core.openstack.org/openstack-galera created' - ' logger.go:42: 12:15:03 | ctlplane-galera-basic/1-deploy-galera | test step completed 1-deploy-galera' - ' logger.go:42: 12:15:03 | ctlplane-galera-basic/2-cleanup | starting test step 2-cleanup' - ' logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' mysql-db-openstack-galera-0 \' - ' mysql-db-openstack-cell1-galera-0 \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-0" deleted' - ' logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:15:56 | ctlplane-galera-basic/2-cleanup | test step completed 2-cleanup' - ' logger.go:42: 12:15:56 | ctlplane-galera-basic | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (360.77s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-galera-basic (358.70s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m9s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ oc apply -f - - ++ cat - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:16:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:16:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:16:19 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:16:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:16:20 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:16:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:16:20 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-nodeselectors - === PAUSE kuttl/harness/ctlplane-nodeselectors - === CONT kuttl/harness/ctlplane-nodeselectors - ' logger.go:42: 12:16:20 | ctlplane-nodeselectors | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector="beta.kubernetes.io/os=linux"' - ' ]' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | namespace/openstack-kuttl-tests annotated' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/nodeselectors/global | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | starting test step 2-' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | running command: [sh -c echo "Checking all pods have expected nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | Checking all pods have expected nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | running command: [sh -c echo "Checking all cronjobs have expected nodeselector"' - ' EXPECTED_NODE_SELECTOR="node-role.kubernetes.io/worker:"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | Checking all cronjobs have expected nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | test step completed 2-' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | starting test step 3-update-nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "replace",' - ' "path": "/spec/nodeSelector",' - ' "value": {"kubernetes.io/os":"linux"}' - ' }]''' - ' ]' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | test step completed 3-update-nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | starting test step 4-' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | Found 25 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Found 24 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Found 21 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | Found 20 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Found 18 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | Found 16 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | Found 10 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all cronjobs have expected nodeselector"' - ' EXPECTED_NODE_SELECTOR="kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all cronjobs have expected nodeselector' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | test step completed 4-' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector-' - ' oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | namespace/openstack-kuttl-tests annotated' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:22:14 | ctlplane-nodeselectors/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:22:14 | ctlplane-nodeselectors | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (356.10s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-nodeselectors (353.83s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m5s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ oc apply -f - - ++ cat - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:22:38 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:22:38 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:22:39 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:22:39 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:22:39 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:22:39 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:22:40 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-tls-cert-rotation - === PAUSE kuttl/harness/ctlplane-tls-cert-rotation - === CONT kuttl/harness/ctlplane-tls-cert-rotation - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | starting test step 0-deploy-openstack-tls-ingress-only' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c oc kustomize ../../../../config/samples/tls/tls_ingress | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Fail if internal https endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''https:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered' - ' logger.go:42: 12:26:35 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb internalDbAddress use tcp"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb DB connection use tcp"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q ptcp"' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check nova transport_url use tcp"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=0''"' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check neutron ovn_sb_connection url tcp address"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp"' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Fail if internal https endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''https:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered' - ' logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb internalDbAddress use tcp"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp' - ' ]' - ' logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp' - ' logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb DB connection use tcp"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q ptcp"' - ' ]' - ' logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check nova transport_url use tcp"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=0''"' - ' ]' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check neutron ovn_sb_connection url tcp address"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp"' - ' ]' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Fail if internal https endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''https:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb internalDbAddress use tcp"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb DB connection use tcp"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q ptcp"' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check nova transport_url use tcp"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=0''"' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check neutron ovn_sb_connection url tcp address"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp"' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | test step completed 0-deploy-openstack-tls-ingress-only' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | starting test step 2-get-endpoints-certs' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_before' - ' ]' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Get fingerprints of all service certs' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ awk -F/ ''{print $3}''' - ' logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Service Unavailable (HTTP 503)' - ' logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "Fail if internal http endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''http:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Fail if internal http endpoints are registered' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check ovn sb internalDbAddress use ssl"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q ssl' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb internalDbAddress use ssl' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check ovn sb DB connection use ssl"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q pssl"' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb DB connection use ssl' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check nova transport_url use ssl"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=1''"' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check nova transport_url use ssl' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check neutron ovn_sb_connection url ssl"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf| grep -q ssl"' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check neutron ovn_sb_connection url ssl' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | test step completed 2-get-endpoints-certs' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | starting test step 3-change-cert-duration' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_duration | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:29:46 | ctlplane-tls-cert-rotation/3-change-cert-duration | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/3-change-cert-duration | test step completed 3-change-cert-duration' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | starting test step 4-' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ ''{print $3}''' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command terminated with exit code 137' - ' logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | error: unable to upgrade connection: container not found ("openstackclient")' - ' logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:20 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:59 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ ''{print $3}''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''swift-public-openstack-kuttl-tests.apps-crc.testing:443 EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''nova-internal.openstack-kuttl-tests.svc:8774 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''placement-public-openstack-kuttl-tests.apps-crc.testing:443 E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''neutron-public-openstack-kuttl-tests.apps-crc.testing:443 B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''cinder-internal.openstack-kuttl-tests.svc:8776 FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''placement-internal.openstack-kuttl-tests.svc:8778 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''keystone-public-openstack-kuttl-tests.apps-crc.testing:443 A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''barbican-internal.openstack-kuttl-tests.svc:9311 D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''glance-default-internal.openstack-kuttl-tests.svc:9292 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01 ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''keystone-internal.openstack-kuttl-tests.svc:5000 B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''neutron-internal.openstack-kuttl-tests.svc:9696 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3 ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''nova-public-openstack-kuttl-tests.apps-crc.testing:443 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''cinder-public-openstack-kuttl-tests.apps-crc.testing:443 FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33 ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''barbican-public-openstack-kuttl-tests.apps-crc.testing:443 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''swift-internal.openstack-kuttl-tests.svc:8080 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Check if all services from before are present in after and have valid fingerprints"' - ' bash -s < ../../common/osp_check_fingerprints.sh' - ' ]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | Check if all services from before are present in after and have valid fingerprints' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + IFS=' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + read -r before' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + exit 0' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | test step completed 4-' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (614.87s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-tls-cert-rotation (612.92s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 10m - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ oc apply -f - - ++ cat - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ oc apply -f - - ++ cat - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:33:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:33:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:33:19 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:33:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:33:20 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:33:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:33:21 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-tls-custom-issuers - === PAUSE kuttl/harness/ctlplane-tls-custom-issuers - === CONT kuttl/harness/ctlplane-tls-custom-issuers - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | starting test step 0-deploy-custom-issuers' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml' - ' oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml' - ' ]' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | test step completed 0-deploy-custom-issuers' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | starting test step 2-' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal-custom" "internal"' - ' ]' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Checking issuer of internal certificates...' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + http_status=300' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + return 0' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=svc' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ grep svc' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''All certificates match the custom issuer rootca-internal-custom''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + exit 0' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-ingress-custom" "public"' - ' ]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking issuer of ingress certificates...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + http_status=300' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + return 0' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=public' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ grep public' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + echo ''All certificates match the custom issuer rootca-ingress-custom''' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + exit 0' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | test step completed 2-' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | starting test step 3-deploy-openstack' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | test step completed 3-deploy-openstack' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | starting test step 4-rotate-service-certs' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Deleting secrets..."' - ' oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Deleting secrets...' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking rotation of non API service certificates...' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)' - ' logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack on port 3306...' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal" "internal"' - ' ]' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of internal certificates...' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=svc' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep svc' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-internal''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-public" "public"' - ' ]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of ingress certificates...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-public' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=public' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-public''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | test step completed 4-rotate-service-certs' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | starting test step 6-deploy-openstack' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/6-deploy-openstack | test step completed 6-deploy-openstack' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | starting test step 7-' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Error retrieving certificate from ceilometer-internal at 10.217.5.90:3000.' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal" "internal"' - ' ]' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking issuer of internal certificates...' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-internal' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + http_status=300' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + return 0' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=svc' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ grep svc' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo ''''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n '''' ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + sleep 20' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''All certificates match the custom issuer rootca-internal''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + exit 0' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-public" "public"' - ' ]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking issuer of ingress certificates...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-public' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + http_status=300' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + return 0' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=public' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ grep public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo ''All certificates match the custom issuer rootca-public''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + exit 0' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | test step completed 7-' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | starting test step 8-deploy-custom-issuers' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml' - ' oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml' - ' ]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom unchanged' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom unchanged' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom unchanged' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom unchanged' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | test step completed 8-deploy-custom-issuers' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | starting test step 9-deploy-openstack' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | test step completed 9-deploy-openstack' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | starting test step 10-rotate-service-certs' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Deleting secrets..."' - ' oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Deleting secrets...' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking rotation of non API service certificates...' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack on port 3306...' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal-custom" "internal"' - ' ]' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of internal certificates...' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=svc' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep svc' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-internal-custom' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-internal-custom''' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-ingress-custom" "public"' - ' ]' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of ingress certificates...' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=public' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep public' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-ingress-custom''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | test step completed 10-rotate-service-certs' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | starting test step 11-cleanup' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io "rootca-internal-custom" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io "rootca-ingress-custom" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers/11-cleanup | test step completed 11-cleanup' - ' logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (970.91s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-tls-custom-issuers (968.83s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 16m - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ oc apply -f - - ++ cat - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:49:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:49:57 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:49:58 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:49:58 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:49:59 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:49:59 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:49:59 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-tls-custom-route - === PAUSE kuttl/harness/ctlplane-tls-custom-route - === CONT kuttl/harness/ctlplane-tls-custom-route - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Ignoring README.md as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | starting test step 2-deploy-custom-route-secret' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c source ../../common/create_custom_cert.sh' - ' INGRESS_DOMAIN=$(oc get ingresses.config.openshift.io cluster -o jsonpath=''{.spec.domain}'')' - ' create_barbican_placement_routes "${INGRESS_DOMAIN}" "${NAMESPACE}"' - ' ]' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route certificates for barbican and placement...' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Setting up custom certificate infrastructure in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating self-signed issuer in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: resource issuers/selfsigned-issuer is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer configured' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''issuer/selfsigned-issuer'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer condition met' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Self-signed issuer is ready' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-ingress-custom in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom unchanged' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/rootca-ingress-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom condition met' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-ingress-custom is ready' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom created' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''issuer/rootca-ingress-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom condition met' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-ingress-custom is ready' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-internal-custom in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom unchanged' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/rootca-internal-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom condition met' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-internal-custom is ready' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom created' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''issuer/rootca-internal-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom condition met' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-internal-custom is ready' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom certificate infrastructure setup complete' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for barbican...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate barbican-custom-route-cert for *.apps-crc.testing...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert created' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/barbican-custom-route-cert'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert condition met' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate barbican-custom-route-cert is ready' - ' logger.go:42: 12:54:08 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret barbican-custom-route...' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/barbican-custom-route created' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret barbican-custom-route created successfully' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for placement...' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate placement-custom-route-cert for *.apps-crc.testing...' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert created' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/placement-custom-route-cert'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert condition met' - ' logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate placement-custom-route-cert is ready' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret placement-custom-route...' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/placement-custom-route created' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret placement-custom-route created successfully' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificates created successfully' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - barbican-custom-route' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - placement-custom-route' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c # Generate ConfigMap for kustomize from the placement-custom-route secret' - ' bash ../../common/prepare_placement_certs.sh' - ' ]' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for placement-custom-route secret to be created...' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Secret placement-custom-route found in namespace openstack-kuttl-tests' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Fetching certificates from placement-custom-route secret and creating ConfigMap...' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating ConfigMap file at: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | configmap/placement-cert-data created' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | ConfigMap placement-cert-data created at /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml and applied to namespace openstack-kuttl-tests' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | This file will be used by kustomize as a resource' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | test step completed 2-deploy-custom-route-secret' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | starting test step 3-deploy-openstack' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | running command: [sh -c # Apply OpenStackControlPlane with kustomize (ConfigMap was created in step 02)' - ' oc kustomize ../../../../config/samples/tls/custom_route_cert | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | configmap/placement-cert-data unchanged' - ' logger.go:42: 12:54:14 | ctlplane-tls-custom-route/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/3-deploy-openstack | test step completed 3-deploy-openstack' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | starting test step 4-' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo "Checking barbican custom route certificate..."' - ' bash ../../common/osp_check_route_cert.sh "barbican"' - ' ]' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking barbican custom route certificate...' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | TLS data matches for route barbican in namespace openstack-kuttl-tests.' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo "Checking placement custom route certificate..."' - ' bash ../../common/osp_check_route_cert.sh "placement"' - ' ]' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking placement custom route certificate...' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | TLS data matches for route placement in namespace openstack-kuttl-tests.' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | running command: [sh -c echo "Verifying placement route override certificates in OpenStackControlPlane..."' - ' bash ../../common/verify_route_override_certs.sh "placement"' - ' ]' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates in OpenStackControlPlane...' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates...' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | ✓ All certificates match for placement' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | test step completed 4-' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io "rootca-internal-custom" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io "rootca-ingress-custom" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:55:14 | ctlplane-tls-custom-route/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:55:14 | ctlplane-tls-custom-route | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (316.75s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-tls-custom-route (314.80s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 5m29s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:55:40 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:55:40 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:55:41 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:55:41 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:55:41 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-create-test - === PAUSE kuttl/harness/dataplane-create-test - === CONT kuttl/harness/dataplane-create-test - ' logger.go:42: 12:55:41 | dataplane-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-ipam created' - ' logger.go:42: 12:55:43 | dataplane-create-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 12:55:43 | dataplane-create-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (3.80s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-create-test (2.14s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 12s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ tr '\n' ' ' - ++ head -c-1 - ++ sed -e 's|node/||' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:56:04 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:56:04 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:56:05 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:56:05 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:56:05 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:56:05 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:56:06 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-global-service-test - === PAUSE kuttl/harness/dataplane-deploy-global-service-test - === CONT kuttl/harness/dataplane-deploy-global-service-test - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********le created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ey created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********et updated' - 'Warning: unknown field "spec.label"' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-global-service created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-global created' - ' logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | starting test step 1-dataplane-deploy' - ' logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-global created' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/1-dataplane-deploy | test step completed 1-dataplane-deploy' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | starting test step 2-add-nodeset' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created' - ' logger.go:42: 12:59:49 | dataplane-deploy-global-service-test/2-add-nodeset | test step completed 2-add-nodeset' - ' logger.go:42: 12:59:49 | dataplane-deploy-global-service-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (224.79s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-global-service-test (223.27s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 3m52s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:00:11 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:00:11 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:00:12 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:00:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:00:12 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-multiple-secrets - === PAUSE kuttl/harness/dataplane-deploy-multiple-secrets - === CONT kuttl/harness/dataplane-deploy-multiple-secrets - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Ignoring certs.yaml as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/generic-service1 created' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovr created' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | starting test step 1-create-cert-issuers' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | running command: [sh -c function wait_for() {' - ' timeout=$1' - ' shift 1' - ' until [ $timeout -le 0 ] || ("$@" &> /dev/null); do' - ' echo waiting for "$@"' - ' sleep 1' - ' timeout=$(( timeout - 1 ))' - ' done' - ' if [ $timeout -le 0 ]; then' - ' return 1' - ' fi' - ' }' - ' ' - ' if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi' - ' oc apply -f ./certs.yaml' - ' wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests' - ' CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r ''.data."ca.crt"'')' - ' oc create secret generic combined-ca-bundle -n openstack-kuttl-tests --from-literal=TLSCABundleFile=$CA_CRT' - ' ]' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Error from server (NotFound): secrets "combined-ca-bundle" not found' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer created' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca created' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal created' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | secret/combined-ca-bundle created' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | test step completed 1-create-cert-issuers' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | starting test step 2-dataplane-deploy' - 'Warning: unknown field "spec.services"' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets "cert-generic-service1-default-edpm-compute-0" not found' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: ' - ' logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets "cert-generic-service1-default-edpm-compute-0" not found' - ' logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: ' - ' logger.go:42: 13:00:37 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:39 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:40 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:41 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:42 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:43 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:45 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:46 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:47 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:48 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:49 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:51 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | test step completed 2-dataplane-deploy' - ' logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (41.27s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-multiple-secrets (39.74s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 49s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ tr '\n' ' ' - ++ head -c-1 - ++ sed -e 's|node/||' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:01:12 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:01:12 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:01:13 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:01:13 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:01:14 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:01:14 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:01:14 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-no-nodes-test - === PAUSE kuttl/harness/dataplane-deploy-no-nodes-test - === CONT kuttl/harness/dataplane-deploy-no-nodes-test - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ey created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********et updated' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | starting test step 1-dataplane-deploy' - ' logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | test step completed 1-dataplane-deploy' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | starting test step 2-dataplane-deploy-services-override' - 'Warning: unknown field "spec.label"' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-svc created' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-ovrd created' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | test step completed 2-dataplane-deploy-services-override' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | starting test step 3-update-ovn-cm' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | running command: [sh -c sleep 30]' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | ConfigMap:openstack-kuttl-tests/ovncontroller-config updated' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | test step completed 3-update-ovn-cm' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | starting test step 4-dataplane-deploy' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-updated-ovn-cm created' - ' logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | test step completed 4-dataplane-deploy' - ' logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | starting test step 5-dataplane-deploy-service-not-found' - ' logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-non-existent-service created' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | test step completed 5-dataplane-deploy-service-not-found' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | starting test step 6-add-nodeset' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created' - ' logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/6-add-nodeset | test step completed 6-add-nodeset' - ' logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | starting test step 7-dataplane-deploy-node-selector' - ' logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-node-selection created' - ' logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | test step completed 7-dataplane-deploy-node-selector' - ' logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (229.88s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-no-nodes-test (228.12s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 3m57s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:05:24 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:05:24 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:05:25 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:05:25 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:05:26 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:05:26 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:05:26 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-tls-test - === PAUSE kuttl/harness/dataplane-deploy-tls-test - === CONT kuttl/harness/dataplane-deploy-tls-test - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Ignoring certs.yaml as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dnsnames created' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd created' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | starting test step 1-create-cert-issuers' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | running command: [sh -c function wait_for() {' - ' timeout=$1' - ' shift 1' - ' until [ $timeout -le 0 ] || ("$@" &> /dev/null); do' - ' echo waiting for "$@"' - ' sleep 1' - ' timeout=$(( timeout - 1 ))' - ' done' - ' if [ $timeout -le 0 ]; then' - ' return 1' - ' fi' - ' }' - ' ' - ' if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi' - ' oc apply -f ./certs.yaml' - ' wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests' - ' CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r ''.data."ca.crt"'')' - ' oc create secret generic combined-ca-bundle -n openstack-kuttl-tests --from-literal=tls-ca-bundle.pem=$CA_CRT' - ' ]' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | NAME TYPE DATA AGE' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | combined-ca-bundle Opaque 1 5m2s' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | secret "combined-ca-bundle" deleted' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer unchanged' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca unchanged' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal unchanged' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | secret/combined-ca-bundle created' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | test step completed 1-create-cert-issuers' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | starting test step 2-dataplane-deploy' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:41 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:42 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:45 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:46 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | test step completed 2-dataplane-deploy' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | starting test step 3-dataplane-deploy-services-override' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dns-ips created' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-tls-dns created' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd updated' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls-ovrd created' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | Error from server (NotFound): certificates.cert-manager.io "custom-tls-dns-default-edpm-compute-0" not found' - ' logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | bad dnsnames match: ' - ' logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | command failure, skipping 1 additional commands' - ' logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | test step completed 3-dataplane-deploy-services-override' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | starting test step 4-rotate-certs' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | running command: [oc delete -n openstack-kuttl-tests secrets cert-custom-tls-dns-default-edpm-compute-0 cert-tls-dns-ips-default-edpm-compute-0]' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret "cert-custom-tls-dns-default-edpm-compute-0" deleted' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret "cert-tls-dns-ips-default-edpm-compute-0" deleted' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | test step completed 4-rotate-certs' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | starting test step 5-dataplane-redeploy' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/certs-refresh created' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:24 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=4B1E244450A4005B45606430C180271D' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod''s hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-bm6z8 ...' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=4B1E244450A4005B45606430C180271D' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=B9466059D5B3A04CA0D53314A1F54F18' - ' logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod''s hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]' - ' logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-pcs86 ...' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=B9466059D5B3A04CA0D53314A1F54F18' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | test step completed 5-dataplane-redeploy' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (67.02s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-tls-test (65.42s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 74s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ oc apply -f - - ++ cat - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:06:52 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:06:52 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:06:53 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:06:53 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:06:54 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:06:54 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:06:54 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-extramounts - === PAUSE kuttl/harness/dataplane-extramounts - === CONT kuttl/harness/dataplane-extramounts - ' logger.go:42: 13:06:54 | dataplane-extramounts | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | starting test step 0-dataplane-create' - 'Warning: unknown field "spec.label"' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/test-service created' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-extramounts created' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-extramounts created' - ' logger.go:42: 13:07:09 | dataplane-extramounts/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:07:09 | dataplane-extramounts | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (16.82s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-extramounts (15.21s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 24s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ oc apply -f - - ++ cat - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:07:30 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:07:30 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:07:31 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:07:31 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:07:31 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:07:31 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:07:32 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-multinode-nodeset-create-test - === PAUSE kuttl/harness/dataplane-multinode-nodeset-create-test - === CONT kuttl/harness/dataplane-multinode-nodeset-create-test - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode created' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | starting test step 1-dataplane-scale-in' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | running command: [sh -c oc patch openstackdataplanenodeset/openstack-edpm-multinode -n openstack-kuttl-tests --type json --patch ''[{ "op": "remove", "path": "/spec/nodes/edpm-compute-1" }]''' - ' ]' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | openstackdataplanenodeset.dataplane.openstack.org/openstack-edpm-multinode patched' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | test step completed 1-dataplane-scale-in' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | starting test step 2-dataplane-scale-out' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode updated' - ' logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | test step completed 2-dataplane-scale-out' - ' logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (44.91s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-multinode-nodeset-create-test (43.19s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ grep Bound - ++ awk '{print $6}' - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 53s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:08:37 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:08:37 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:08:38 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:08:38 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:08:38 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-service-config - === PAUSE kuttl/harness/dataplane-service-config - === CONT kuttl/harness/dataplane-service-config - ' logger.go:42: 13:08:38 | dataplane-service-config | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | starting test step 0-create' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-0 created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-1 created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-2 created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/kuttl-service created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:09:00 | dataplane-service-config/0-create | test step completed 0-create' - ' logger.go:42: 13:09:00 | dataplane-service-config | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (22.90s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-service-config (21.27s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ awk '{print $1}' - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 30s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ oc apply -f - - ++ cat - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:09:20 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:09:20 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:09:21 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:09:21 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:09:21 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:09:21 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:09:22 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-service-custom-image - === PAUSE kuttl/harness/dataplane-service-custom-image - === CONT kuttl/harness/dataplane-service-custom-image - ' logger.go:42: 13:09:22 | dataplane-service-custom-image | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-img-svc created' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-no-nodes-custom-svc created' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:09:37 | dataplane-service-custom-image/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:09:37 | dataplane-service-custom-image | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (17.04s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-service-custom-image (15.25s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ awk '{print $1}' - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 24s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:09:59 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:09:59 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:10:00 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:10:00 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:10:01 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:10:01 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:10:01 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-service-failure - === PAUSE kuttl/harness/dataplane-service-failure - === CONT kuttl/harness/dataplane-service-failure - ' logger.go:42: 13:10:01 | dataplane-service-failure | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | starting test step 0-create' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/failed-service created' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:11:43 | dataplane-service-failure/0-create | test step completed 0-create' - ' logger.go:42: 13:11:43 | dataplane-service-failure | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (103.90s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-service-failure (102.23s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make openstack_deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml - namespace/openstack-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-kuttl-tests Active - oc project openstack-kuttl-tests - Now using project "openstack-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make openstack_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - '# TODO: Once https://issues.redhat.com/browse/OSPRH-13217 is properly resolved, the' - '# explicit calls to "oc delete" the webhooks can be removed below' - if oc get openstack &>/dev/null; then oc delete --ignore-not-found=true openstack/openstack \ - '&& oc delete mutatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator \' - '&& oc delete validatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator; fi' - openstack.operator.openstack.org "openstack" deleted - No resources found - No resources found - oc delete subscription --all=true - subscription.operators.coreos.com "openstack-operator" deleted - oc delete csv --all=true - clusterserviceversion.operators.coreos.com "cluster-observability-operator.v1.3.0" deleted - clusterserviceversion.operators.coreos.com "metallb-operator.v4.18.0-202511181540" deleted - clusterserviceversion.operators.coreos.com "openstack-operator.v0.5.0" deleted - oc delete catalogsource --all=true - catalogsource.operators.coreos.com "openstack-operator-index" deleted - test -d /home/zuul/ci-framework-data/artifacts/manifests/operator/baremetal-operator && make crc_bmo_cleanup || true - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - ~/ci-framework-data/artifacts mirror_path: changed: false failed: false stat: atime: 1764760620.59329 attr_flags: '' attributes: [] block_size: 4096 blocks: 16 charset: us-ascii checksum: 92d92a03afdddee82732741071f662c729080c35 ctime: 1764760620.59729 dev: 64513 device_type: 0 executable: false exists: true gid: 0 gr_name: root inode: 10261 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mimetype: text/x-shellscript mode: '0644' mtime: 1764760620.15829 nlink: 1 path: /etc/ci/mirror_info.sh pw_name: root readable: true rgrp: true roth: true rusr: true size: 4482 uid: 0 version: '3059337196' wgrp: false woth: false writeable: false wusr: true xgrp: false xoth: false xusr: false module_setup: true omit: __omit_place_holder__36c4acaa7719cd8cc020b2df2a3d2c50e219ea7b playbook_dir: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl playbook_path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/hooks/playbooks/kuttl_openstack_prep.yml playbook_stat: changed: false failed: false stat: atime: 1764761322.1474416 attr_flags: '' attributes: [] block_size: 4096 blocks: 8 charset: us-ascii checksum: acf5feed0bc4037553a327f6fe7f2cef5d294791 ctime: 1764761220.5735643 dev: 64513 device_type: 0 executable: false exists: true gid: 1000 gr_name: zuul inode: 25185803 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mimetype: text/plain mode: '0644' mtime: 1764760589.8449156 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/hooks/playbooks/kuttl_openstack_prep.yml pw_name: zuul readable: true rgrp: true roth: true rusr: true size: 1659 uid: 1000 version: '4083622244' wgrp: false woth: false writeable: true wusr: true xgrp: false xoth: false xusr: false post_ctlplane_deploy: - name: Tune rabbitmq resources source: rabbitmq_tuning.yml type: playbook pre_deploy: - name: Deploy toy ceph source: ceph-deploy.yml type: playbook pre_infra: - connection: local inventory: localhost, name: Download needed tools source: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/download_tools.yaml type: playbook pre_kuttl: - inventory: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml name: Fetch crc facts and save them as parameters for kuttl jobs source: kuttl_openstack_prep.yml type: playbook push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true rr_version: changed: false false_condition: cifmw_repo_setup_enable_rhos_release | bool skip_reason: Conditional result was False skipped: true zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' ansible_version: '8' attempts: 1 branch: main build: 727b8a3d74d1412b8f45f0b1fac4891c build_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null buildset: 5aaec7e89b664b56b85280d171f700d4 buildset_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 child_jobs: [] commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 event_id: 4ab514e0-d039-11f0-81e0-fb882bdc02c6 executor: hostname: ze03.softwarefactory-project.io inventory_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/ansible/inventory.yaml log_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/logs result_data_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/results.json src_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/src work_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work items: - branch: master change: '58488' change_url: https://review.rdoproject.org/r/c/rdo-jobs/+/58488 commit_id: b7327b74f191ac2394d2701b1b8d5509395ae1fb patchset: '1' project: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs name: rdo-jobs short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs topic: null - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null job: cifmw-multinode-kuttl jobtags: [] max_attempts: 1 message: W211bHRpcGxlXSBNb3ZlIGNpZm13X2Jhc2VkaXIgdmFyIHRvIGdyb3VwX3ZhcnMgCgpUaGUgYGNpZm13X2Jhc2VkaXJgIHZhcmlhYmxlIGlzIG5vdyBleHBlY3RlZCB0byBiZSBkZWZpbmVkIGdyb3VwX3ZhcnMuDQpQcmV2aW91cyBmYWxsYmFjayB0byBgYW5zaWJsZV91c2VyX2RpciB+ICcvY2ktZnJhbWV3b3JrLWRhdGEnYCBoYXMgYmVlbg0KcmVtb3ZlZCBmcm9tIHBsYXlib29rcyBhbmQgcm9sZXMuDQoNClRoaXMgY2hhbmdlIGVuc3VyZXMgY29uc2lzdGVuY3kgYWNyb3NzIHJvbGVzIGFuZCBwcmV2ZW50cyBhY2NpZGVudGFsIHVzZQ0Kb2YgYSBkZWZhdWx0IHBhdGggd2hlbiBgY2lmbXdfYmFzZWRpcmAgaXMgaW50ZW50aW9uYWxseSB1bnNldC4NCg0KVGhpcyBjb21taXQgaXMgb25lIHBhcnQgb2YgYSBzZXQgb2YgY2hhbmdlcy4NCg0KTk9URToNClByb2JhYmx5IHRoaXMgY29tbWl0IHdvdWxkIGJlIHNwbGl0IGludG8gZmV3IHB1bGwgcmVxdWVzdHMuDQoNCk1vcmU6IFtPU1BSSC0yMDQ5MV0oaHR0cHM6Ly9pc3N1ZXMucmVkaGF0LmNvbS8vYnJvd3NlL09TUFJILTIwNDkxKQ0KDQpEZXBlbmRzLU9uOiBodHRwczovL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yL2MvcmRvLWpvYnMvKy81ODQ4OA== patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: 9df4e7d5b028e976203d64479f9b7a76c1c95a24 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 14b37c7112dcbbe48013b78b824825772b01b2c2 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 2261ed433b240c3ce81443dcd27657d36bfed699 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_1/role_3/rdo-jobs/roles post_review: false project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework projects: github.com/crc-org/crc-cloud: canonical_hostname: github.com canonical_name: github.com/crc-org/crc-cloud checkout: main checkout_description: project override ref commit: 49d5584967047c568a7e417ac8c7f34e3ae28ba8 name: crc-org/crc-cloud required: true short_name: crc-cloud src_dir: src/github.com/crc-org/crc-cloud github.com/openstack-k8s-operators/ci-framework: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main checkout_description: zuul branch commit: 2261ed433b240c3ce81443dcd27657d36bfed699 name: openstack-k8s-operators/ci-framework required: true short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework github.com/openstack-k8s-operators/edpm-ansible: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/edpm-ansible checkout: main checkout_description: zuul branch commit: e055d0820cb705f856846768f0507c4d53f62762 name: openstack-k8s-operators/edpm-ansible required: true short_name: edpm-ansible src_dir: src/github.com/openstack-k8s-operators/edpm-ansible github.com/openstack-k8s-operators/infra-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator checkout: main checkout_description: zuul branch commit: 1ff40691b66dd893904896b4a00a0cdcd138fdf0 name: openstack-k8s-operators/infra-operator required: true short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator github.com/openstack-k8s-operators/install_yamls: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/install_yamls checkout: main checkout_description: zuul branch commit: 14dc885eaff1841abcc0206a1a21f6e54d9fad7b name: openstack-k8s-operators/install_yamls required: true short_name: install_yamls src_dir: src/github.com/openstack-k8s-operators/install_yamls github.com/openstack-k8s-operators/openstack-baremetal-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-baremetal-operator checkout: main checkout_description: zuul branch commit: fe40bf12d8c6c641c7929a0e49878722e80d6899 name: openstack-k8s-operators/openstack-baremetal-operator required: true short_name: openstack-baremetal-operator src_dir: src/github.com/openstack-k8s-operators/openstack-baremetal-operator github.com/openstack-k8s-operators/openstack-must-gather: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-must-gather checkout: main checkout_description: zuul branch commit: 2da49819dd6af6036aede5e4e9a080ff2c6457de name: openstack-k8s-operators/openstack-must-gather required: true short_name: openstack-must-gather src_dir: src/github.com/openstack-k8s-operators/openstack-must-gather github.com/openstack-k8s-operators/openstack-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator checkout: main checkout_description: zuul branch commit: b102924657dd294d08db769acac26201e395a333 name: openstack-k8s-operators/openstack-operator required: true short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator github.com/openstack-k8s-operators/repo-setup: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/repo-setup checkout: main checkout_description: zuul branch commit: 37b10946c6a10f9fa26c13305f06bfd6867e723f name: openstack-k8s-operators/repo-setup required: true short_name: repo-setup src_dir: src/github.com/openstack-k8s-operators/repo-setup opendev.org/zuul/zuul-jobs: canonical_hostname: opendev.org canonical_name: opendev.org/zuul/zuul-jobs checkout: master checkout_description: project default branch commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad name: zuul/zuul-jobs required: true short_name: zuul-jobs src_dir: src/opendev.org/zuul/zuul-jobs review.rdoproject.org/config: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/config checkout: master checkout_description: project default branch commit: 40052f923df77143f1c9739304c4b4221346825f name: config required: true short_name: config src_dir: src/review.rdoproject.org/config review.rdoproject.org/rdo-jobs: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs checkout: master checkout_description: project default branch commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb name: rdo-jobs required: false short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs ref: refs/pull/3451/head resources: {} tenant: rdoproject.org timeout: 9000 topic: null voting: true zuul_log_collection: true inventory_dir: /home/zuul/ci-framework-data/artifacts inventory_file: /home/zuul/ci-framework-data/artifacts/zuul_inventory.yml inventory_hostname: localhost inventory_hostname_short: localhost log_path: /home/zuul/ci-framework-data/logs/pre_kuttl_fetch_crc_facts_and_save_them_.log logfiles_dest_dir: /home/zuul/ci-framework-data/logs/2025-12-03_13-47 make_barbican_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_barbican_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nbash scripts/validate-marketplace.sh\n+ '[' -z 500s ']'\n+ OPERATOR_NAMESPACE=openshift-marketplace\n++ oc get pods --no-headers -n openshift-marketplace\n++ grep -viE 'running|completed'\n+ not_running_pods=\n+ '[' -z '' ']'\n+ echo 'All openshift-marketplace pods seems to me fine'\nAll openshift-marketplace pods seems to me fine\n+ OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator'\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep openshift-cert-manager-operator\nopenshift-cert-manager-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep kubernetes-nmstate-operator\nkubernetes-nmstate-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep metallb-operator\nmetallb-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator unchanged\nsubscription.operators.coreos.com/metallb-operator-sub unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nmetallb-operator-controller-manager-b9dd667db-j4qd7 \ 1/1 Running 0 99m\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 \ Running 0 99m\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nspeaker-56dnr \ 2/2 Running 0 98m\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z barbican-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml\nnamespace/barbican-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nbarbican-kuttl-tests Active\noc project barbican-kuttl-tests\nNow using project \"barbican-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in barbican-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/mariadb-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator\nCloning into 'openstack-operator'...\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning into 'mariadb-operator'...\nRunning checkout: git checkout 3989cc50de31\nNote: switching to '3989cc50de31'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\n+ oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 1ff40691b66d\nNote: switching to '1ff40691b66d'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z Memcached ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\n+ oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nbash -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z RabbitmqCluster ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\n+ oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator\nCloning into 'keystone-operator'...\nRunning checkout: git checkout 8b3a77972a77\nNote: switching to '8b3a77972a77'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z KeystoneAPI ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\n+ oc apply -f -\nkeystoneapi.keystone.openstack.org/keystone created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' -z quay.io/openstack-k8s-operators/barbican-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=barbican-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE barbican-operator-index\nOPERATOR_SOURCE barbican-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\ncatalogsource.operators.coreos.com/barbican-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/barbican-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/barbican-operator.git barbican-operator\nCloning into 'barbican-operator'...\nRunning checkout: git checkout f489fa5ceb3c\nNote: switching to 'f489fa5ceb3c'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at f489fa5 Merge pull request #312 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z barbican-kuttl-tests ']'\n+ '[' -z Barbican ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\n~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Barbican == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Barbican == OpenStackControlPlane ']'\n+ '[' Barbican == Galera ']'\n+ '[' Barbican == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Barbican == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Barbican == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./barbican_v1beta1_barbican.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./barbican_v1beta1_barbican.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"barbican-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n+ '[' barbican = rabbitmq-cluster ']'\n+ DEPL_NAME=barbican-operator-controller-manager\n++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake barbican_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nBARBICAN_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests --namespace barbican-kuttl-tests \n2025/12/03 13:17:16 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 180 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests has 2 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/barbican_scale\n=== PAUSE kuttl/harness/barbican_scale\n=== RUN kuttl/harness/barbican_tls\n=== PAUSE kuttl/harness/barbican_tls\n=== CONT kuttl/harness/barbican_scale\n \ logger.go:42: 13:17:16 | barbican_scale | Ignoring deploy as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n logger.go:42: 13:17:16 | barbican_scale | Skipping creation of user-supplied namespace: barbican-kuttl-tests\n logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | starting test step 1-deploy-barbican\n logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | running command: [sh -c cp ../../../../config/samples/barbican_v1beta1_barbican.*yaml deploy\n oc kustomize deploy | oc apply -n $NAMESPACE -f -\n ]\n \ logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | barbican.barbican.openstack.org/barbican created\n logger.go:42: 13:17:54 | barbican_scale/1-deploy-barbican | test step completed 1-deploy-barbican\n logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | starting test step 2-scale-barbican\n logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanAPI/replicas\", \"value\":2}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanKeystoneListener/replicas\", \"value\":2}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanWorker/replicas\", \"value\":2}]'\n \ ]\n logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:56 | barbican_scale/2-scale-barbican | test step completed 2-scale-barbican\n logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | starting test step 3-scale-down-barbican\n logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanAPI/replicas\", \"value\":1}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanKeystoneListener/replicas\", \"value\":1}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanWorker/replicas\", \"value\":1}]'\n \ ]\n logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:57 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:58 | barbican_scale/3-scale-down-barbican | test step completed 3-scale-down-barbican\n \ logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | starting test step 4-scale-down-zero-barbican\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanAPI/replicas\", \"value\":0}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanKeystoneListener/replicas\", \"value\":0}]'\n \ oc patch Barbican -n $NAMESPACE barbican --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/barbicanWorker/replicas\", \"value\":0}]'\n \ ]\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched\n logger.go:42: 13:17:59 | barbican_scale/4-scale-down-zero-barbican | test step completed 4-scale-down-zero-barbican\n \ logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | starting test step 5-cleanup-barbican\n logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | running command: [sh -c oc kustomize deploy | oc delete -n $NAMESPACE -f -\n rm deploy/barbican_v1beta1_barbican.yaml\n ]\n logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | barbican.barbican.openstack.org \"barbican\" deleted\n logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | test step completed 5-cleanup-barbican\n logger.go:42: 13:18:00 | barbican_scale | skipping kubernetes event logging\n=== CONT kuttl/harness/barbican_tls\n \ logger.go:42: 13:18:00 | barbican_tls | Ignoring kustomization.yaml as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n logger.go:42: 13:18:00 | barbican_tls | Skipping creation of user-supplied namespace: barbican-kuttl-tests\n \ logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********le created\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created\n logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | starting test step 1-deploy_barbican\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | barbican.barbican.openstack.org/barbican created\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:02 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:03 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:08 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:09 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org \"barbican-api\" not found\n logger.go:42: 13:18:15 | barbican_tls/1-deploy_barbican | running command: [sh -c template='{{.status.apiEndpoint.internal}}{{\":\"}}{{.status.apiEndpoint.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/barbican-internal.$NAMESPACE.*:https:\\/\\/barbican-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n ]\n logger.go:42: 13:18:16 | barbican_tls/1-deploy_barbican | test step completed 1-deploy_barbican\n logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | starting test step 5-cleanup-barbican\n logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc delete -n $NAMESPACE -f -\n ]\n logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | barbican.barbican.openstack.org \"barbican\" deleted\n logger.go:42: 13:18:29 | barbican_tls/5-cleanup-barbican | test step completed 5-cleanup-barbican\n \ logger.go:42: 13:18:29 | barbican_tls | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (73.68s)\n \ --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/barbican_scale (44.09s)\n --- PASS: kuttl/harness/barbican_tls (29.57s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z barbican-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml\nnamespace/barbican-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nbarbican-kuttl-tests Active\noc project barbican-kuttl-tests\nNow using project \"barbican-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nkeystoneapi.keystone.openstack.org \"keystone\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\ngalera.mariadb.openstack.org \"openstack\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nmemcached.memcached.openstack.org \"memcached\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNAME ALLREPLICASREADY RECONCILESUCCESS AGE\nrabbitmq \ True True 3m7s\nrabbitmqcluster.rabbitmq.com \"rabbitmq\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake barbican_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z barbican ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep barbican\n+ CSV=barbican-operator.v0.0.1\n+ '[' -n barbican-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv barbican-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"barbican-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription barbican-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"barbican-operator\" deleted\n+ oc delete -n openstack-operators catalogsource barbican-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"barbican-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake kuttl_common_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep keystone\n+ CSV=keystone-operator.v0.0.1\n+ '[' -n keystone-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"keystone-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"keystone-operator\" deleted\n+ oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"keystone-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep rabbitmq-cluster\n+ CSV=rabbitmq-cluster-operator.v0.0.1\n+ '[' -n rabbitmq-cluster-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"rabbitmq-cluster-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"rabbitmq-cluster-operator\" deleted\n+ oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"rabbitmq-cluster-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z barbican-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml\nnamespace/barbican-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nbarbican-kuttl-tests Active\noc project barbican-kuttl-tests\nAlready on project \"barbican-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep infra\n+ CSV=infra-operator.v0.0.1\n+ '[' -n infra-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"infra-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"infra-operator\" deleted\n+ oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"infra-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep mariadb\n+ CSV=mariadb-operator.v0.0.1\n+ '[' -n mariadb-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"mariadb-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"mariadb-operator\" deleted\n+ oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"mariadb-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc delete --ignore-not-found=true -f -\nsecret \"libvirt-secret\" deleted\nsecret \"octavia-ca-passphrase\" deleted\nsecret \"osp-secret\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z metallb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep metallb\n+ CSV=metallb-operator.v4.18.0-202511181540\n+ '[' -n metallb-operator.v4.18.0-202511181540 ']'\n+ oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"metallb-operator.v4.18.0-202511181540\" deleted\n+ oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true\n+ oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/restore-namespace.sh\nNow using project \"openstack\" on server \"https://api.crc.testing:6443\".\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - bash scripts/validate-marketplace.sh - + '[' -z 500s ']' - + OPERATOR_NAMESPACE=openshift-marketplace - ++ oc get pods --no-headers -n openshift-marketplace - ++ grep -viE 'running|completed' - + not_running_pods= - + '[' -z '' ']' - + echo 'All openshift-marketplace pods seems to me fine' - All openshift-marketplace pods seems to me fine - + OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator' - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep openshift-cert-manager-operator - openshift-cert-manager-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep kubernetes-nmstate-operator - kubernetes-nmstate-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep metallb-operator - metallb-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator unchanged - subscription.operators.coreos.com/metallb-operator-sub unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - metallb-operator-controller-manager-b9dd667db-j4qd7 1/1 Running 0 99m - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 99m - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - speaker-56dnr 2/2 Running 0 98m - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z barbican-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml - namespace/barbican-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - barbican-kuttl-tests Active - oc project barbican-kuttl-tests - Now using project "barbican-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z barbican-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in barbican-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=mariadb-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE mariadb-operator-index - OPERATOR_SOURCE mariadb-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - catalogsource.operators.coreos.com/mariadb-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/mariadb-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator' - Cloning into 'openstack-operator'... - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator' - Cloning into 'mariadb-operator'... - 'Running checkout: git checkout 3989cc50de31' - 'Note: switching to ''3989cc50de31''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z Galera ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Galera == OpenStackControlPlane ']' - + '[' Galera == Galera ']' - + cat - + '[' Galera == NetConfig ']' - + '[' -n '' ']' - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./mariadb_v1beta1_galera.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - + oc apply -f - - galera.mariadb.openstack.org/openstack created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=infra-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE infra-operator-index - OPERATOR_SOURCE infra-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - catalogsource.operators.coreos.com/infra-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/infra-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator' - Cloning into 'infra-operator'... - 'Running checkout: git checkout 1ff40691b66d' - 'Note: switching to ''1ff40691b66d''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z Memcached ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n memcached ']' - + cat - + '[' Memcached == OpenStackControlPlane ']' - + '[' Memcached == Galera ']' - + '[' Memcached == NetConfig ']' - + '[' -n '' ']' - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./memcached_v1beta1_memcached.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - + oc apply -f - - memcached.memcached.openstack.org/memcached created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index - OPERATOR_SOURCE rabbitmq-cluster-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/rabbitmq-cluster-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator' - Cloning into 'rabbitmq-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z RabbitmqCluster ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=image - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n rabbitmq ']' - + cat - + '[' RabbitmqCluster == OpenStackControlPlane ']' - + '[' RabbitmqCluster == Galera ']' - + '[' RabbitmqCluster == NetConfig ']' - + '[' -n '' ']' - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./rabbitmq.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./rabbitmq.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z rabbitmq ']' - + '[' rabbitmq = rabbitmq ']' - + OPERATOR_NAME=rabbitmq-cluster - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - + oc apply -f - - rabbitmqcluster.rabbitmq.com/rabbitmq created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=keystone-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE keystone-operator-index - OPERATOR_SOURCE keystone-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - catalogsource.operators.coreos.com/keystone-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/keystone-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator' - Cloning into 'keystone-operator'... - 'Running checkout: git checkout 8b3a77972a77' - 'Note: switching to ''8b3a77972a77''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z KeystoneAPI ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' KeystoneAPI == OpenStackControlPlane ']' - + '[' KeystoneAPI == Galera ']' - + '[' KeystoneAPI == NetConfig ']' - + '[' -n '' ']' - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./keystone_v1beta1_keystoneapi.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - + oc apply -f - - keystoneapi.keystone.openstack.org/keystone created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' -z quay.io/openstack-k8s-operators/barbican-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=barbican-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE barbican-operator-index - OPERATOR_SOURCE barbican-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - catalogsource.operators.coreos.com/barbican-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/barbican-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/barbican-operator.git barbican-operator' - Cloning into 'barbican-operator'... - 'Running checkout: git checkout f489fa5ceb3c' - 'Note: switching to ''f489fa5ceb3c''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at f489fa5 Merge pull request #312 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z barbican-kuttl-tests ']' - + '[' -z Barbican ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - ~/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Barbican == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Barbican == OpenStackControlPlane ']' - + '[' Barbican == Galera ']' - + '[' Barbican == NetConfig ']' - + '[' -n '' ']' - + [[ Barbican == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Barbican == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./barbican_v1beta1_barbican.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./barbican_v1beta1_barbican.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "barbican-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - + '[' barbican = rabbitmq-cluster ']' - + DEPL_NAME=barbican-operator-controller-manager - ++ oc get -n openstack-operators deployment barbican-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make barbican_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'BARBICAN_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests --namespace barbican-kuttl-tests ' - '2025/12/03 13:17:16 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 180 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests has 2 tests' - === RUN kuttl/harness - === RUN kuttl/harness/barbican_scale - === PAUSE kuttl/harness/barbican_scale - === RUN kuttl/harness/barbican_tls - === PAUSE kuttl/harness/barbican_tls - === CONT kuttl/harness/barbican_scale - ' logger.go:42: 13:17:16 | barbican_scale | Ignoring deploy as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:17:16 | barbican_scale | Skipping creation of user-supplied namespace: barbican-kuttl-tests' - ' logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | starting test step 1-deploy-barbican' - ' logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | running command: [sh -c cp ../../../../config/samples/barbican_v1beta1_barbican.*yaml deploy' - ' oc kustomize deploy | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 13:17:16 | barbican_scale/1-deploy-barbican | barbican.barbican.openstack.org/barbican created' - ' logger.go:42: 13:17:54 | barbican_scale/1-deploy-barbican | test step completed 1-deploy-barbican' - ' logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | starting test step 2-scale-barbican' - ' logger.go:42: 13:17:54 | barbican_scale/2-scale-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanAPI/replicas", "value":2}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanKeystoneListener/replicas", "value":2}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanWorker/replicas", "value":2}]''' - ' ]' - ' logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:55 | barbican_scale/2-scale-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:56 | barbican_scale/2-scale-barbican | test step completed 2-scale-barbican' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | starting test step 3-scale-down-barbican' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanAPI/replicas", "value":1}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanKeystoneListener/replicas", "value":1}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanWorker/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:56 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:57 | barbican_scale/3-scale-down-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:58 | barbican_scale/3-scale-down-barbican | test step completed 3-scale-down-barbican' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | starting test step 4-scale-down-zero-barbican' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | running command: [sh -c oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanAPI/replicas", "value":0}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanKeystoneListener/replicas", "value":0}]''' - ' oc patch Barbican -n $NAMESPACE barbican --type=''json'' -p=''[{"op": "replace", "path": "/spec/barbicanWorker/replicas", "value":0}]''' - ' ]' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:58 | barbican_scale/4-scale-down-zero-barbican | barbican.barbican.openstack.org/barbican patched' - ' logger.go:42: 13:17:59 | barbican_scale/4-scale-down-zero-barbican | test step completed 4-scale-down-zero-barbican' - ' logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | starting test step 5-cleanup-barbican' - ' logger.go:42: 13:17:59 | barbican_scale/5-cleanup-barbican | running command: [sh -c oc kustomize deploy | oc delete -n $NAMESPACE -f -' - ' rm deploy/barbican_v1beta1_barbican.yaml' - ' ]' - ' logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | barbican.barbican.openstack.org "barbican" deleted' - ' logger.go:42: 13:18:00 | barbican_scale/5-cleanup-barbican | test step completed 5-cleanup-barbican' - ' logger.go:42: 13:18:00 | barbican_scale | skipping kubernetes event logging' - === CONT kuttl/harness/barbican_tls - ' logger.go:42: 13:18:00 | barbican_tls | Ignoring kustomization.yaml as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:18:00 | barbican_tls | Skipping creation of user-supplied namespace: barbican-kuttl-tests' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********le created' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | Secret:ba**********vc created' - ' logger.go:42: 13:18:00 | barbican_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | starting test step 1-deploy_barbican' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | barbican.barbican.openstack.org/barbican created' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:00 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:01 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:02 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:03 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:04 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:05 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:06 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:07 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:08 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:09 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:10 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:11 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:12 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:13 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:14 | barbican_tls/1-deploy_barbican | Error from server (NotFound): barbicanapis.barbican.openstack.org "barbican-api" not found' - ' logger.go:42: 13:18:15 | barbican_tls/1-deploy_barbican | running command: [sh -c template=''{{.status.apiEndpoint.internal}}{{":"}}{{.status.apiEndpoint.public}}{{"\n"}}''' - ' regex="https:\/\/barbican-internal.$NAMESPACE.*:https:\/\/barbican-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE BarbicanAPI barbican-api -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:18:16 | barbican_tls/1-deploy_barbican | test step completed 1-deploy_barbican' - ' logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | starting test step 5-cleanup-barbican' - ' logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | running command: [sh -c oc kustomize ../../../../config/samples/tls-e | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 13:18:16 | barbican_tls/5-cleanup-barbican | barbican.barbican.openstack.org "barbican" deleted' - ' logger.go:42: 13:18:29 | barbican_tls/5-cleanup-barbican | test step completed 5-cleanup-barbican' - ' logger.go:42: 13:18:29 | barbican_tls | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (73.68s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/barbican_scale (44.09s)' - ' --- PASS: kuttl/harness/barbican_tls (29.57s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/horizon/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z barbican-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml - namespace/barbican-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - barbican-kuttl-tests Active - oc project barbican-kuttl-tests - Now using project "barbican-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - keystoneapi.keystone.openstack.org "keystone" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - galera.mariadb.openstack.org "openstack" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - memcached.memcached.openstack.org "memcached" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - NAME ALLREPLICASREADY RECONCILESUCCESS AGE - rabbitmq True True 3m7s - rabbitmqcluster.rabbitmq.com "rabbitmq" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make barbican_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z barbican ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep barbican - + CSV=barbican-operator.v0.0.1 - + '[' -n barbican-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv barbican-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "barbican-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription barbican-operator --ignore-not-found=true - subscription.operators.coreos.com "barbican-operator" deleted - + oc delete -n openstack-operators catalogsource barbican-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "barbican-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/barbican/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make kuttl_common_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep keystone - + CSV=keystone-operator.v0.0.1 - + '[' -n keystone-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "keystone-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true - subscription.operators.coreos.com "keystone-operator" deleted - + oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "keystone-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep rabbitmq-cluster - + CSV=rabbitmq-cluster-operator.v0.0.1 - + '[' -n rabbitmq-cluster-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "rabbitmq-cluster-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true - subscription.operators.coreos.com "rabbitmq-cluster-operator" deleted - + oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "rabbitmq-cluster-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z barbican-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/namespace.yaml - namespace/barbican-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io barbican-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - barbican-kuttl-tests Active - oc project barbican-kuttl-tests - Already on project "barbican-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/infra/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep infra - + CSV=infra-operator.v0.0.1 - + '[' -n infra-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "infra-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true - subscription.operators.coreos.com "infra-operator" deleted - + oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "infra-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/mariadb/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep mariadb - + CSV=mariadb-operator.v0.0.1 - + '[' -n mariadb-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "mariadb-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true - subscription.operators.coreos.com "mariadb-operator" deleted - + oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "mariadb-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input | oc delete --ignore-not-found=true -f - - secret "libvirt-secret" deleted - secret "octavia-ca-passphrase" deleted - secret "osp-secret" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/barbican-kuttl-tests/input - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z metallb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep metallb - + CSV=metallb-operator.v4.18.0-202511181540 - + '[' -n metallb-operator.v4.18.0-202511181540 ']' - + oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "metallb-operator.v4.18.0-202511181540" deleted - + oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true - + oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/restore-namespace.sh - Now using project "openstack" on server "https://api.crc.testing:6443". - ~/ci-framework-data/artifacts make_crc_attach_default_interface_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: '~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts make attach_default_interface make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup'' bash scripts/interfaces-setup-cleanup.sh + ''['' 1000 -eq 0 '']'' ++ virsh --connect=qemu:///system dumpxml crc ++ xmllint --xpath ''string(/domain/devices/interface/source[@network="default"]/../mac/@address)'' - error: failed to connect to the hypervisor error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory -:1: parser error : Document is empty ^ + MAC_ADDRESS= + ''['' -n '''' '']'' + ''['' -n '''' '']'' bash scripts/interfaces-setup.sh + ''['' 1000 -eq 0 '']'' + ''['' -n '''' '']'' + [[ -z 52:54:00:11:11:10 ]] + VM_ID_SECTION=''mac=''\''''52:54:00:11:11:10''\'''''' + virsh --connect=qemu:///system net-update default add-last ip-dhcp-host --xml '''' --config --live error: failed to connect to the hypervisor error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory + virsh --connect=qemu:///system attach-interface crc --source default --type network --model virtio --mac 52:54:00:11:11:10 --config --persistent error: failed to connect to the hypervisor error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory + sleep 5 + ''['' -n '''' '']'' make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup'' ~/ci-framework-data/artifacts ' stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts - make attach_default_interface - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup''' - bash scripts/interfaces-setup-cleanup.sh - + '[' 1000 -eq 0 ']' - ++ virsh --connect=qemu:///system dumpxml crc - ++ xmllint --xpath 'string(/domain/devices/interface/source[@network="default"]/../mac/@address)' - - 'error: failed to connect to the hypervisor' - 'error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory' - '-:1: parser error : Document is empty' - '' - ^ - + MAC_ADDRESS= - + '[' -n '' ']' - + '[' -n '' ']' - bash scripts/interfaces-setup.sh - + '[' 1000 -eq 0 ']' - + '[' -n '' ']' - + [[ -z 52:54:00:11:11:10 ]] - + VM_ID_SECTION='mac='\''52:54:00:11:11:10'\''' - + virsh --connect=qemu:///system net-update default add-last ip-dhcp-host --xml '' --config --live - 'error: failed to connect to the hypervisor' - 'error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory' - + virsh --connect=qemu:///system attach-interface crc --source default --type network --model virtio --mac 52:54:00:11:11:10 --config --persistent - 'error: failed to connect to the hypervisor' - 'error: Failed to connect socket to ''/var/run/libvirt/virtqemud-sock'': No such file or directory' - + sleep 5 - + '[' -n '' ']' - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup''' - ~/ci-framework-data/artifacts make_download_tools_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts\nANSIBLE_FORCE_COLOR=true ansible-playbook \\\n-v -i hosts --tags all \\\ndownload_tools.yaml\n\e[0;34mUsing /etc/ansible/ansible.cfg as config file\e[0m\n\nPLAY [Download tools] **********************************************************\n\nTASK [Gathering Facts] *********************************************************\n\e[0;32mok: [localhost]\e[0m\n\nTASK [download_tools : Install build dependencies] *****************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"msg\": \"\", \"rc\": 0, \"results\": [\"Installed: apr-util-1.6.1-23.el9.x86_64\", \"Installed: libisoburn-1.5.4-5.el9.x86_64\", \"Installed: apr-util-bdb-1.6.1-23.el9.x86_64\", \"Installed: libisofs-1.5.4-4.el9.x86_64\", \"Installed: skopeo-2:1.20.0-2.el9.x86_64\", \"Installed: apr-util-openssl-1.6.1-23.el9.x86_64\", \"Installed: virt-install-5.0.0-1.el9.noarch\", \"Installed: virt-manager-common-5.0.0-1.el9.noarch\", \"Installed: xorriso-1.5.4-5.el9.x86_64\", \"Installed: libburn-1.5.4-5.el9.x86_64\", \"Installed: python3-argcomplete-1.12.0-5.el9.noarch\", \"Installed: osinfo-db-20250606-1.el9.noarch\", \"Installed: osinfo-db-tools-1.10.0-1.el9.x86_64\", \"Installed: xmlstarlet-1.6.1-20.el9.x86_64\", \"Installed: libosinfo-1.10.0-1.el9.x86_64\", \"Installed: httpd-tools-2.4.62-10.el9.x86_64\", \"Installed: apr-1.7.0-12.el9.x86_64\", \"Installed: sqlite-3.34.1-9.el9.x86_64\", \"Installed: libvirt-client-11.9.0-1.el9.x86_64\"]}\e[0m\n\nTASK [download_tools : Set opm download url suffix] ****************************\n\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"opm_version is undefined or opm_version == \\\"latest\\\"\", \"skip_reason\": \"Conditional result was False\"}\e[0m\n\nTASK [download_tools : Set opm download url suffix] ****************************\n\e[0;32mok: [localhost] => {\"ansible_facts\": {\"opm_url_suffix\": \"download/v1.30.0\"}, \"changed\": false}\e[0m\n\nTASK [download_tools : Create $HOME/bin dir] ***********************************\n\e[0;32mok: [localhost] => {\"changed\": false, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"owner\": \"zuul\", \"path\": \"/home/zuul/bin\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 48, \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Download opm] *******************************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"9238abd6903e2fbbb4e1077b6ae3ada340867a32\", \"dest\": \"/home/zuul/bin/opm\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"7012baf74b8eb8252ce3d768e06f5400\", \"mode\": \"0755\", \"msg\": \"OK (54879432 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 54879432, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761414.5196772-32917-51786293035582/tmpo8swiqtd\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-registry/releases/download/v1.30.0/linux-amd64-opm\"}\e[0m\n\nTASK [download_tools : Get version from sdk_version] ***************************\n\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_sdk_version\": \"1.41.1\"}, \"changed\": false}\e[0m\n\nTASK [download_tools : Set operator-sdk file for version < 1.3.0] **************\n\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"_sdk_version is version('1.3.0', 'lt', strict=True )\", \"skip_reason\": \"Conditional result was False\"}\e[0m\n\nTASK [download_tools : Set operator-sdk file for version >= 1.3.0] *************\n\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_operator_sdk_file\": \"operator-sdk_linux_amd64\"}, \"changed\": false}\e[0m\n\nTASK [download_tools : Download operator-sdk] **********************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b29fbaf7b88d11c0fc7b56fc7468cc20bbb00875\", \"dest\": \"/home/zuul/bin/operator-sdk\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"f288351121b669bf298bab2daeb0d4de\", \"mode\": \"0755\", \"msg\": \"OK (120534604 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 120534604, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761415.6766424-32939-241411933361370/tmpxy1nwuy2\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-sdk/releases/download/v1.41.1/operator-sdk_linux_amd64\"}\e[0m\n\nTASK [download_tools : Download and extract kustomize] *************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 96, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Download kubectl] ***************************************\n\e[0;32mok: [localhost] => {\"changed\": false, \"dest\": \"/home/zuul/bin/kubectl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"msg\": \"HTTP Error 304: Not Modified\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 193737032, \"state\": \"hard\", \"status_code\": 304, \"uid\": 1000, \"url\": \"https://dl.k8s.io/release/v1.25.7/bin/linux/amd64/kubectl\"}\e[0m\n\nTASK [download_tools : Download kuttl] *****************************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b6a31d1f3601af01fcce998d721a8e71df2fddc2\", \"dest\": \"/home/zuul/bin/kubectl-kuttl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"3ff8e2099b841f8ef0766ebc22057376\", \"mode\": \"0755\", \"msg\": \"OK (39207064 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 39207064, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.1037977-33005-89093643008481/tmpbxm3tmqo\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/kudobuilder/kuttl/releases/download/v0.20.0/kubectl-kuttl_0.20.0_linux_x86_64\"}\e[0m\n\nTASK [download_tools : Download chainsaw] **************************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"README.md\", \"--exclude\", \"LICENSE\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 133, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Download and extract yq] ********************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 4096, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Link yq_linux_amd64 as yq] ******************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/yq\", \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0777\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 29, \"src\": \"/home/zuul/bin/yq_linux_amd64\", \"state\": \"link\", \"uid\": 1000}\e[0m\n\nTASK [download_tools : Deinstall golang] ***************************************\n\e[0;32mok: [localhost] => {\"changed\": false, \"msg\": \"Nothing to do\", \"rc\": 0, \"results\": []}\e[0m\n\nTASK [download_tools : Delete old go version installed from upstream] **********\n\e[0;32mok: [localhost] => (item=/usr/local/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/go\", \"path\": \"/usr/local/go\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/home/zuul/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/go\", \"path\": \"/home/zuul/bin/go\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/home/zuul/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/gofmt\", \"path\": \"/home/zuul/bin/gofmt\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/usr/local/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/go\", \"path\": \"/usr/local/bin/go\", \"state\": \"absent\"}\e[0m\n\e[0;32mok: [localhost] => (item=/usr/local/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/gofmt\", \"path\": \"/usr/local/bin/gofmt\", \"state\": \"absent\"}\e[0m\n\nTASK [download_tools : Download and extract golang] ****************************\n\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/usr/local\", \"extract_results\": {\"cmd\": [\"/bin/gtar\", \"--extract\", \"-C\", \"/usr/local\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"go/misc\", \"--exclude\", \"go/pkg/linux_amd64_race\", \"--exclude\", \"go/test\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 0, \"group\": \"root\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"root\", \"secontext\": \"system_u:object_r:usr_t:s0\", \"size\": 141, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\", \"state\": \"directory\", \"uid\": 0}\e[0m\n\nTASK [download_tools : Set alternatives link to installed go version] **********\n\e[0;33mchanged: [localhost] => (item=go) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/go go /usr/local/go/bin/go 1\\n\", \"delta\": \"0:00:00.009930\", \"end\": \"2025-12-03 11:30:48.071551\", \"item\": \"go\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.061621\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m\n\e[0;33mchanged: [localhost] => (item=gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/gofmt gofmt /usr/local/go/bin/gofmt 1\\n\", \"delta\": \"0:00:00.007200\", \"end\": \"2025-12-03 11:30:48.368997\", \"item\": \"gofmt\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.361797\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m\n\nTASK [download_tools : Clean bash cache] ***************************************\n\e[0;32mok: [localhost] => {\e[0m\n\e[0;32m \"msg\": \"When move from rpm to upstream version, make sure to clean bash cache using `hash -d go`\"\e[0m\n\e[0;32m}\e[0m\n\nPLAY RECAP *********************************************************************\n\e[0;33mlocalhost\e[0m \ : \e[0;32mok=19 \e[0m \e[0;33mchanged=10 \e[0m unreachable=0 \ failed=0 \e[0;36mskipped=2 \e[0m rescued=0 ignored=0 \n\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls/devsetup ~/ci-framework-data/artifacts - ANSIBLE_FORCE_COLOR=true ansible-playbook \ - -v -i hosts --tags all \ - download_tools.yaml - "\e[0;34mUsing /etc/ansible/ansible.cfg as config file\e[0m" - '' - PLAY [Download tools] ********************************************************** - '' - TASK [Gathering Facts] ********************************************************* - "\e[0;32mok: [localhost]\e[0m" - '' - 'TASK [download_tools : Install build dependencies] *****************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"msg\": \"\", \"rc\": 0, \"results\": [\"Installed: apr-util-1.6.1-23.el9.x86_64\", \"Installed: libisoburn-1.5.4-5.el9.x86_64\", \"Installed: apr-util-bdb-1.6.1-23.el9.x86_64\", \"Installed: libisofs-1.5.4-4.el9.x86_64\", \"Installed: skopeo-2:1.20.0-2.el9.x86_64\", \"Installed: apr-util-openssl-1.6.1-23.el9.x86_64\", \"Installed: virt-install-5.0.0-1.el9.noarch\", \"Installed: virt-manager-common-5.0.0-1.el9.noarch\", \"Installed: xorriso-1.5.4-5.el9.x86_64\", \"Installed: libburn-1.5.4-5.el9.x86_64\", \"Installed: python3-argcomplete-1.12.0-5.el9.noarch\", \"Installed: osinfo-db-20250606-1.el9.noarch\", \"Installed: osinfo-db-tools-1.10.0-1.el9.x86_64\", \"Installed: xmlstarlet-1.6.1-20.el9.x86_64\", \"Installed: libosinfo-1.10.0-1.el9.x86_64\", \"Installed: httpd-tools-2.4.62-10.el9.x86_64\", \"Installed: apr-1.7.0-12.el9.x86_64\", \"Installed: sqlite-3.34.1-9.el9.x86_64\", \"Installed: libvirt-client-11.9.0-1.el9.x86_64\"]}\e[0m" - '' - 'TASK [download_tools : Set opm download url suffix] ****************************' - "\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"opm_version is undefined or opm_version == \\\"latest\\\"\", \"skip_reason\": \"Conditional result was False\"}\e[0m" - '' - 'TASK [download_tools : Set opm download url suffix] ****************************' - "\e[0;32mok: [localhost] => {\"ansible_facts\": {\"opm_url_suffix\": \"download/v1.30.0\"}, \"changed\": false}\e[0m" - '' - 'TASK [download_tools : Create $HOME/bin dir] ***********************************' - "\e[0;32mok: [localhost] => {\"changed\": false, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"owner\": \"zuul\", \"path\": \"/home/zuul/bin\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 48, \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Download opm] *******************************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"9238abd6903e2fbbb4e1077b6ae3ada340867a32\", \"dest\": \"/home/zuul/bin/opm\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"7012baf74b8eb8252ce3d768e06f5400\", \"mode\": \"0755\", \"msg\": \"OK (54879432 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 54879432, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761414.5196772-32917-51786293035582/tmpo8swiqtd\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-registry/releases/download/v1.30.0/linux-amd64-opm\"}\e[0m" - '' - 'TASK [download_tools : Get version from sdk_version] ***************************' - "\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_sdk_version\": \"1.41.1\"}, \"changed\": false}\e[0m" - '' - 'TASK [download_tools : Set operator-sdk file for version < 1.3.0] **************' - "\e[0;36mskipping: [localhost] => {\"changed\": false, \"false_condition\": \"_sdk_version is version('1.3.0', 'lt', strict=True )\", \"skip_reason\": \"Conditional result was False\"}\e[0m" - '' - 'TASK [download_tools : Set operator-sdk file for version >= 1.3.0] *************' - "\e[0;32mok: [localhost] => {\"ansible_facts\": {\"_operator_sdk_file\": \"operator-sdk_linux_amd64\"}, \"changed\": false}\e[0m" - '' - 'TASK [download_tools : Download operator-sdk] **********************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b29fbaf7b88d11c0fc7b56fc7468cc20bbb00875\", \"dest\": \"/home/zuul/bin/operator-sdk\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"f288351121b669bf298bab2daeb0d4de\", \"mode\": \"0755\", \"msg\": \"OK (120534604 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 120534604, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761415.6766424-32939-241411933361370/tmpxy1nwuy2\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/operator-framework/operator-sdk/releases/download/v1.41.1/operator-sdk_linux_amd64\"}\e[0m" - '' - 'TASK [download_tools : Download and extract kustomize] *************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 96, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761417.0037906-32955-109864823833247/kustomize_v5.0.3_linux_amd6488qnjik_.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Download kubectl] ***************************************' - "\e[0;32mok: [localhost] => {\"changed\": false, \"dest\": \"/home/zuul/bin/kubectl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0755\", \"msg\": \"HTTP Error 304: Not Modified\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 193737032, \"state\": \"hard\", \"status_code\": 304, \"uid\": 1000, \"url\": \"https://dl.k8s.io/release/v1.25.7/bin/linux/amd64/kubectl\"}\e[0m" - '' - 'TASK [download_tools : Download kuttl] *****************************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"checksum_dest\": null, \"checksum_src\": \"b6a31d1f3601af01fcce998d721a8e71df2fddc2\", \"dest\": \"/home/zuul/bin/kubectl-kuttl\", \"elapsed\": 0, \"gid\": 1000, \"group\": \"zuul\", \"md5sum\": \"3ff8e2099b841f8ef0766ebc22057376\", \"mode\": \"0755\", \"msg\": \"OK (39207064 bytes)\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 39207064, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.1037977-33005-89093643008481/tmpbxm3tmqo\", \"state\": \"file\", \"status_code\": 200, \"uid\": 1000, \"url\": \"https://github.com/kudobuilder/kuttl/releases/download/v0.20.0/kubectl-kuttl_0.20.0_linux_x86_64\"}\e[0m" - '' - 'TASK [download_tools : Download chainsaw] **************************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"README.md\", \"--exclude\", \"LICENSE\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 133, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761420.9413676-33021-206999610273438/chainsaw_linux_amd644hvxsrt7.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Download and extract yq] ********************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/\", \"extract_results\": {\"cmd\": [\"/usr/bin/gtar\", \"--extract\", \"-C\", \"/home/zuul/bin\", \"-z\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 1000, \"group\": \"zuul\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 4096, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761424.903559-33055-99770477282215/yq_linux_amd64ppztvmtj.tar.gz\", \"state\": \"directory\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Link yq_linux_amd64 as yq] ******************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/home/zuul/bin/yq\", \"gid\": 1000, \"group\": \"zuul\", \"mode\": \"0777\", \"owner\": \"zuul\", \"secontext\": \"unconfined_u:object_r:home_bin_t:s0\", \"size\": 29, \"src\": \"/home/zuul/bin/yq_linux_amd64\", \"state\": \"link\", \"uid\": 1000}\e[0m" - '' - 'TASK [download_tools : Deinstall golang] ***************************************' - "\e[0;32mok: [localhost] => {\"changed\": false, \"msg\": \"Nothing to do\", \"rc\": 0, \"results\": []}\e[0m" - '' - 'TASK [download_tools : Delete old go version installed from upstream] **********' - "\e[0;32mok: [localhost] => (item=/usr/local/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/go\", \"path\": \"/usr/local/go\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/home/zuul/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/go\", \"path\": \"/home/zuul/bin/go\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/home/zuul/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/home/zuul/bin/gofmt\", \"path\": \"/home/zuul/bin/gofmt\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/usr/local/bin/go) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/go\", \"path\": \"/usr/local/bin/go\", \"state\": \"absent\"}\e[0m" - "\e[0;32mok: [localhost] => (item=/usr/local/bin/gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/usr/local/bin/gofmt\", \"path\": \"/usr/local/bin/gofmt\", \"state\": \"absent\"}\e[0m" - '' - 'TASK [download_tools : Download and extract golang] ****************************' - "\e[0;33mchanged: [localhost] => {\"changed\": true, \"dest\": \"/usr/local\", \"extract_results\": {\"cmd\": [\"/bin/gtar\", \"--extract\", \"-C\", \"/usr/local\", \"-z\", \"--show-transformed-names\", \"--exclude\", \"go/misc\", \"--exclude\", \"go/pkg/linux_amd64_race\", \"--exclude\", \"go/test\", \"-f\", \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\"], \"err\": \"\", \"out\": \"\", \"rc\": 0}, \"gid\": 0, \"group\": \"root\", \"handler\": \"TgzArchive\", \"mode\": \"0755\", \"owner\": \"root\", \"secontext\": \"system_u:object_r:usr_t:s0\", \"size\": 141, \"src\": \"/home/zuul/.ansible/tmp/ansible-tmp-1764761431.0452273-33206-130649531768792/go1.24.6.linux-amd64enb7cfl0.tar.gz\", \"state\": \"directory\", \"uid\": 0}\e[0m" - '' - 'TASK [download_tools : Set alternatives link to installed go version] **********' - "\e[0;33mchanged: [localhost] => (item=go) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/go go /usr/local/go/bin/go 1\\n\", \"delta\": \"0:00:00.009930\", \"end\": \"2025-12-03 11:30:48.071551\", \"item\": \"go\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.061621\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m" - "\e[0;33mchanged: [localhost] => (item=gofmt) => {\"ansible_loop_var\": \"item\", \"changed\": true, \"cmd\": \"set -e\\nupdate-alternatives --install /usr/local/bin/gofmt gofmt /usr/local/go/bin/gofmt 1\\n\", \"delta\": \"0:00:00.007200\", \"end\": \"2025-12-03 11:30:48.368997\", \"item\": \"gofmt\", \"msg\": \"\", \"rc\": 0, \"start\": \"2025-12-03 11:30:48.361797\", \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\e[0m" - '' - 'TASK [download_tools : Clean bash cache] ***************************************' - "\e[0;32mok: [localhost] => {\e[0m" - "\e[0;32m \"msg\": \"When move from rpm to upstream version, make sure to clean bash cache using `hash -d go`\"\e[0m" - "\e[0;32m}\e[0m" - '' - PLAY RECAP ********************************************************************* - "\e[0;33mlocalhost\e[0m : \e[0;32mok=19 \e[0m \e[0;33mchanged=10 \ \e[0m unreachable=0 failed=0 \e[0;36mskipped=2 \e[0m rescued=0 ignored=0 \ " - '' - ~/ci-framework-data/artifacts make_horizon_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_horizon_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nbash scripts/validate-marketplace.sh\n+ '[' -z 500s ']'\n+ OPERATOR_NAMESPACE=openshift-marketplace\n++ oc get pods --no-headers -n openshift-marketplace\n++ grep -viE 'running|completed'\n+ not_running_pods=\n+ '[' -z '' ']'\n+ echo 'All openshift-marketplace pods seems to me fine'\nAll openshift-marketplace pods seems to me fine\n+ OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator'\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep openshift-cert-manager-operator\nopenshift-cert-manager-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep kubernetes-nmstate-operator\nkubernetes-nmstate-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep metallb-operator\nmetallb-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator unchanged\nsubscription.operators.coreos.com/metallb-operator-sub unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nmetallb-operator-controller-manager-b9dd667db-j4qd7 \ 1/1 Running 0 127m\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 \ Running 0 127m\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nspeaker-56dnr \ 2/2 Running 0 126m\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z horizon-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml\nnamespace/horizon-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nhorizon-kuttl-tests Active\noc project horizon-kuttl-tests\nNow using project \"horizon-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in horizon-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/mariadb-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning into 'mariadb-operator'...\nRunning checkout: git checkout 3989cc50de31\nNote: switching to '3989cc50de31'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\n+ oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 1ff40691b66d\nNote: switching to '1ff40691b66d'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z Memcached ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\n+ oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nbash -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z RabbitmqCluster ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\n+ oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator\nCloning into 'keystone-operator'...\nRunning checkout: git checkout 8b3a77972a77\nNote: switching to '8b3a77972a77'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z KeystoneAPI ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\n+ oc apply -f -\nkeystoneapi.keystone.openstack.org/keystone created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' -z quay.io/openstack-k8s-operators/horizon-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=horizon-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE horizon-operator-index\nOPERATOR_SOURCE horizon-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\ncatalogsource.operators.coreos.com/horizon-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/horizon-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/horizon-operator.git horizon-operator\nCloning into 'horizon-operator'...\nRunning checkout: git checkout 8bc80a35f9c5\nNote: switching to '8bc80a35f9c5'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8bc80a3 Merge pull request #541 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z horizon-kuttl-tests ']'\n+ '[' -z Horizon ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\n~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Horizon == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Horizon == OpenStackControlPlane ']'\n+ '[' Horizon == Galera ']'\n+ '[' Horizon == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Horizon == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Horizon == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./horizon_v1beta1_horizon.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./horizon_v1beta1_horizon.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"horizon-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' horizon = rabbitmq-cluster ']'\n+ DEPL_NAME=horizon-operator-controller-manager\n++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake horizon_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nHORIZON_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml --namespace horizon-kuttl-tests \n2025/12/03 13:43:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 180 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests has 2 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/basic-deployment\n=== PAUSE kuttl/harness/basic-deployment\n=== RUN kuttl/harness/tls-deployment\n=== PAUSE kuttl/harness/tls-deployment\n=== CONT kuttl/harness/basic-deployment\n \ logger.go:42: 13:43:45 | basic-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | starting test step 1-deploy-horizon\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon.yaml\n \ ]\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | horizon.horizon.openstack.org/horizon created\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n \ PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n \ STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=\n \ logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' '/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps \"horizon\" not found\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n \ if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found (\"horizon-log\")\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + STATUSCODE=\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + [[ -n '' ]]\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + echo 'No status code returned, pls check if horizon is available'\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available\n logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | command terminated with exit code 7\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + STATUSCODE=000\n \ logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + test 000 -ne 200\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + echo 'http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000'\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000\n logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + exit 1\n logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:52 GMT\r\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Server: Apache\r\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Length: 9629\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:54 GMT\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private\r\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language\r\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Language: en\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=nNz62Ex7aV6x7nJxHEwIX2QIviSCYVloWEIP1okEWQDJL7CNMIxYblFnDXnsiAXx; Path=/; SameSite=Lax\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8\r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | \r\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + STATUSCODE=200\n \ logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + test 200 -ne 200\n logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + exit 0\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x\n RETURN_CODE=0\n PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath='{.status.endpoint}')\n STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out \"%{http_code}\" \"$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/\" -k)\n if [[ -n \"${STATUSCODE}\" ]]; then\n if test $STATUSCODE -ne 200; then\n RETURN_CODE=1\n echo \"${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}\"\n fi\n else\n \ RETURN_CODE=1\n echo \"No status code returned, pls check if horizon is available\"\n fi\n exit $RETURN_CODE\n ]\n \ logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0\n \ logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o 'jsonpath={.status.endpoint}'\n \ logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc\n \ logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out '%{http_code}' 'http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/' -k\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Defaulted container \"horizon-log\" out of: horizon-log, horizon\n logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:55 GMT\r\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Server: Apache\r\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Length: 9624\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:57 GMT\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private\r\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language\r\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Language: en\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=eUFFNNZ7Cz3Ap9elV9oW6mc4b3S6QG0H9iBCLfW6TmEDerv9KoExptBO2QOa5uhu; Path=/; SameSite=Lax\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8\r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | \r\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=200\n \ logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + test 200 -ne 200\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + exit 0\n logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | test step completed 1-deploy-horizon\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | starting test step 2-update-extramounts-horizon\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c touch mycustompolicy.yaml\n oc create configmap -n $NAMESPACE horizon-policy --from-file mycustompolicy.yaml\n ]\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | configmap/horizon-policy created\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c oc patch horizon -n $NAMESPACE horizon --type='merge' -p '{\n \"spec\": {\n \"extraMounts\": [\n {\n \ \"name\": \"v1\",\n \"region\": \"r1\",\n \"extraVol\": [\n {\n \"extraVolType\": \"Policy\",\n \ \"mounts\": [\n {\n \"mountPath\": \"/etc/openstack-dashboard/mycustomPolicy.yaml\",\n \"name\": \"policy\",\n \"readOnly\": true,\n \"subPath\": \"mycustomPolicy.yaml\"\n }\n ],\n \ \"volumes\": [\n {\n \"name\": \"policy\",\n \"configMap\": {\n \"name\": \"horizon-policy\"\n }\n }\n ]\n \ }\n ]\n }\n ]\n }\n \ }'\n ]\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | horizon.horizon.openstack.org/horizon patched\n logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | test step completed 2-update-extramounts-horizon\n \ logger.go:42: 13:44:57 | basic-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon\n logger.go:42: 13:45:29 | basic-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon\n logger.go:42: 13:45:29 | basic-deployment | skipping kubernetes event logging\n=== CONT kuttl/harness/tls-deployment\n \ logger.go:42: 13:45:29 | tls-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests\n logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********le created\n logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********vc created\n logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | starting test step 1-deploy_horizon\n logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon_tls.yaml\n \ ]\n logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | horizon.horizon.openstack.org/horizon created\n logger.go:42: 13:46:04 | tls-deployment/1-deploy_horizon | test step completed 1-deploy_horizon\n \ logger.go:42: 13:46:04 | tls-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon\n logger.go:42: 13:46:35 | tls-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon\n logger.go:42: 13:46:35 | tls-deployment | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (170.50s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/basic-deployment (104.16s)\n --- PASS: kuttl/harness/tls-deployment (66.31s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z horizon-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml\nnamespace/horizon-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nhorizon-kuttl-tests Active\noc project horizon-kuttl-tests\nNow using project \"horizon-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nkeystoneapi.keystone.openstack.org \"keystone\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\ngalera.mariadb.openstack.org \"openstack\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nmemcached.memcached.openstack.org \"memcached\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNAME ALLREPLICASREADY RECONCILESUCCESS AGE\nrabbitmq \ True True 4m43s\nrabbitmqcluster.rabbitmq.com \"rabbitmq\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake horizon_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep horizon\n+ CSV=horizon-operator.v0.0.1\n+ '[' -n horizon-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv horizon-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"horizon-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription horizon-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"horizon-operator\" deleted\n+ oc delete -n openstack-operators catalogsource horizon-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"horizon-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake kuttl_common_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep keystone\n+ CSV=keystone-operator.v0.0.1\n+ '[' -n keystone-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"keystone-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"keystone-operator\" deleted\n+ oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"keystone-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep rabbitmq-cluster\n+ CSV=rabbitmq-cluster-operator.v0.0.1\n+ '[' -n rabbitmq-cluster-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"rabbitmq-cluster-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"rabbitmq-cluster-operator\" deleted\n+ oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"rabbitmq-cluster-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z horizon-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml\nnamespace/horizon-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nhorizon-kuttl-tests Active\noc project horizon-kuttl-tests\nAlready on project \"horizon-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep infra\n+ CSV=infra-operator.v0.0.1\n+ '[' -n infra-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"infra-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"infra-operator\" deleted\n+ oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"infra-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep mariadb\n+ CSV=mariadb-operator.v0.0.1\n+ '[' -n mariadb-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"mariadb-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"mariadb-operator\" deleted\n+ oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"mariadb-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc delete --ignore-not-found=true -f -\nsecret \"libvirt-secret\" deleted\nsecret \"octavia-ca-passphrase\" deleted\nsecret \"osp-secret\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z metallb ']'\n++ grep metallb\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n+ CSV=metallb-operator.v4.18.0-202511181540\n+ '[' -n metallb-operator.v4.18.0-202511181540 ']'\n+ oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"metallb-operator.v4.18.0-202511181540\" deleted\n+ oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true\n+ oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - bash scripts/validate-marketplace.sh - + '[' -z 500s ']' - + OPERATOR_NAMESPACE=openshift-marketplace - ++ oc get pods --no-headers -n openshift-marketplace - ++ grep -viE 'running|completed' - + not_running_pods= - + '[' -z '' ']' - + echo 'All openshift-marketplace pods seems to me fine' - All openshift-marketplace pods seems to me fine - + OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator' - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep openshift-cert-manager-operator - openshift-cert-manager-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep kubernetes-nmstate-operator - kubernetes-nmstate-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep metallb-operator - metallb-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator unchanged - subscription.operators.coreos.com/metallb-operator-sub unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - metallb-operator-controller-manager-b9dd667db-j4qd7 1/1 Running 0 127m - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 127m - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - speaker-56dnr 2/2 Running 0 126m - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z horizon-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml - namespace/horizon-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - horizon-kuttl-tests Active - oc project horizon-kuttl-tests - Now using project "horizon-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z horizon-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in horizon-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=mariadb-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE mariadb-operator-index - OPERATOR_SOURCE mariadb-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - catalogsource.operators.coreos.com/mariadb-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/mariadb-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator' - Cloning into 'mariadb-operator'... - 'Running checkout: git checkout 3989cc50de31' - 'Note: switching to ''3989cc50de31''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z Galera ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Galera == OpenStackControlPlane ']' - + '[' Galera == Galera ']' - + cat - + '[' Galera == NetConfig ']' - + '[' -n '' ']' - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./mariadb_v1beta1_galera.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - + oc apply -f - - galera.mariadb.openstack.org/openstack created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=infra-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE infra-operator-index - OPERATOR_SOURCE infra-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - catalogsource.operators.coreos.com/infra-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/infra-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator' - Cloning into 'infra-operator'... - 'Running checkout: git checkout 1ff40691b66d' - 'Note: switching to ''1ff40691b66d''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z Memcached ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n memcached ']' - + cat - + '[' Memcached == OpenStackControlPlane ']' - + '[' Memcached == Galera ']' - + '[' Memcached == NetConfig ']' - + '[' -n '' ']' - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./memcached_v1beta1_memcached.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - + oc apply -f - - memcached.memcached.openstack.org/memcached created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index - OPERATOR_SOURCE rabbitmq-cluster-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/rabbitmq-cluster-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator' - Cloning into 'rabbitmq-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z RabbitmqCluster ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=image - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n rabbitmq ']' - + cat - + '[' RabbitmqCluster == OpenStackControlPlane ']' - + '[' RabbitmqCluster == Galera ']' - + '[' RabbitmqCluster == NetConfig ']' - + '[' -n '' ']' - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./rabbitmq.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./rabbitmq.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z rabbitmq ']' - + '[' rabbitmq = rabbitmq ']' - + OPERATOR_NAME=rabbitmq-cluster - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - + oc apply -f - - rabbitmqcluster.rabbitmq.com/rabbitmq created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=keystone-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE keystone-operator-index - OPERATOR_SOURCE keystone-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - catalogsource.operators.coreos.com/keystone-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/keystone-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator' - Cloning into 'keystone-operator'... - 'Running checkout: git checkout 8b3a77972a77' - 'Note: switching to ''8b3a77972a77''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z KeystoneAPI ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' KeystoneAPI == OpenStackControlPlane ']' - + '[' KeystoneAPI == Galera ']' - + '[' KeystoneAPI == NetConfig ']' - + '[' -n '' ']' - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./keystone_v1beta1_keystoneapi.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - + oc apply -f - - keystoneapi.keystone.openstack.org/keystone created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' -z quay.io/openstack-k8s-operators/horizon-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=horizon-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE horizon-operator-index - OPERATOR_SOURCE horizon-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - catalogsource.operators.coreos.com/horizon-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/horizon-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/horizon-operator.git horizon-operator' - Cloning into 'horizon-operator'... - 'Running checkout: git checkout 8bc80a35f9c5' - 'Note: switching to ''8bc80a35f9c5''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8bc80a3 Merge pull request #541 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z horizon-kuttl-tests ']' - + '[' -z Horizon ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - ~/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Horizon == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Horizon == OpenStackControlPlane ']' - + '[' Horizon == Galera ']' - + '[' Horizon == NetConfig ']' - + '[' -n '' ']' - + [[ Horizon == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Horizon == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./horizon_v1beta1_horizon.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./horizon_v1beta1_horizon.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "horizon-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' horizon = rabbitmq-cluster ']' - + DEPL_NAME=horizon-operator-controller-manager - ++ oc get -n openstack-operators deployment horizon-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make horizon_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'HORIZON_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests --config /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml --namespace horizon-kuttl-tests ' - '2025/12/03 13:43:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 180 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests has 2 tests' - === RUN kuttl/harness - === RUN kuttl/harness/basic-deployment - === PAUSE kuttl/harness/basic-deployment - === RUN kuttl/harness/tls-deployment - === PAUSE kuttl/harness/tls-deployment - === CONT kuttl/harness/basic-deployment - ' logger.go:42: 13:43:45 | basic-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | starting test step 1-deploy-horizon' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon.yaml' - ' ]' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | horizon.horizon.openstack.org/horizon created' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:45 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:47 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:48 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:49 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:51 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:52 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:53 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:54 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:55 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:56 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:57 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:43:58 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:43:59 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:00 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:01 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:02 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:03 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:04 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:05 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=' - ' logger.go:42: 13:44:06 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | Error from server (NotFound): deployments.apps "horizon" not found' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:07 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:08 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:09 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:10 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:11 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:12 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:13 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:14 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:15 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:16 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:17 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:18 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:19 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:20 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | error: unable to upgrade connection: container not found ("horizon-log")' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + STATUSCODE=' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + [[ -n '''' ]]' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + echo ''No status code returned, pls check if horizon is available''' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | No status code returned, pls check if horizon is available' - ' logger.go:42: 13:44:21 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:22 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:23 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:24 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:25 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:26 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:27 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:28 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:29 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:30 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:31 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:32 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:33 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:34 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:35 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:36 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:37 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:38 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:39 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:40 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:41 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:42 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:43 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:44 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:45 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:46 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:47 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:48 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:49 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | command terminated with exit code 7' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + STATUSCODE=000' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + [[ -n 000 ]]' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + test 000 -ne 200' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + RETURN_CODE=1' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + echo ''http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000''' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | http://horizon.horizon-kuttl-tests.svc status code expected is 200 but was 000' - ' logger.go:42: 13:44:50 | basic-deployment/1-deploy-horizon | + exit 1' - ' logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:51 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:52 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:52 GMT' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Server: Apache' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Length: 9629' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:54 GMT' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Language: en' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=nNz62Ex7aV6x7nJxHEwIX2QIviSCYVloWEIP1okEWQDJL7CNMIxYblFnDXnsiAXx; Path=/; SameSite=Lax' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | ' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + STATUSCODE=200' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + test 200 -ne 200' - ' logger.go:42: 13:44:54 | basic-deployment/1-deploy-horizon | + exit 0' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | running command: [sh -c set -x' - ' RETURN_CODE=0' - ' PUBLIC_URL=$(oc get -n $NAMESPACE horizon horizon -o jsonpath=''{.status.endpoint}'')' - ' STATUSCODE=$(oc -n $NAMESPACE exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k)' - ' if [[ -n "${STATUSCODE}" ]]; then' - ' if test $STATUSCODE -ne 200; then' - ' RETURN_CODE=1' - ' echo "${PUBLIC_URL} status code expected is 200 but was ${STATUSCODE}"' - ' fi' - ' else' - ' RETURN_CODE=1' - ' echo "No status code returned, pls check if horizon is available"' - ' fi' - ' exit $RETURN_CODE' - ' ]' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + RETURN_CODE=0' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc get -n horizon-kuttl-tests horizon horizon -o ''jsonpath={.status.endpoint}''' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | + PUBLIC_URL=http://horizon.horizon-kuttl-tests.svc' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | ++ oc -n horizon-kuttl-tests exec -it deployment/horizon -- curl --silent --output /dev/stderr --head --write-out ''%{http_code}'' ''http://horizon.horizon-kuttl-tests.svc/dashboard/auth/login/?next=/dashboard/'' -k' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Defaulted container "horizon-log" out of: horizon-log, horizon' - ' logger.go:42: 13:44:55 | basic-deployment/1-deploy-horizon | Unable to use a TTY - input is not a terminal or the right kind of file' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | HTTP/1.1 200 OK' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Date: Wed, 03 Dec 2025 13:44:55 GMT' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Server: Apache' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Length: 9624' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Expires: Wed, 03 Dec 2025 13:44:57 GMT' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Vary: Cookie,Accept-Language' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | X-Frame-Options: DENY' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Language: en' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Set-Cookie: csrftoken=eUFFNNZ7Cz3Ap9elV9oW6mc4b3S6QG0H9iBCLfW6TmEDerv9KoExptBO2QOa5uhu; Path=/; SameSite=Lax' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | Content-Type: text/html; charset=utf-8' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | ' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + STATUSCODE=200' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + [[ -n 200 ]]' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + test 200 -ne 200' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | + exit 0' - ' logger.go:42: 13:44:57 | basic-deployment/1-deploy-horizon | test step completed 1-deploy-horizon' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | starting test step 2-update-extramounts-horizon' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c touch mycustompolicy.yaml' - ' oc create configmap -n $NAMESPACE horizon-policy --from-file mycustompolicy.yaml' - ' ]' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | configmap/horizon-policy created' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | running command: [sh -c oc patch horizon -n $NAMESPACE horizon --type=''merge'' -p ''{' - ' "spec": {' - ' "extraMounts": [' - ' {' - ' "name": "v1",' - ' "region": "r1",' - ' "extraVol": [' - ' {' - ' "extraVolType": "Policy",' - ' "mounts": [' - ' {' - ' "mountPath": "/etc/openstack-dashboard/mycustomPolicy.yaml",' - ' "name": "policy",' - ' "readOnly": true,' - ' "subPath": "mycustomPolicy.yaml"' - ' }' - ' ],' - ' "volumes": [' - ' {' - ' "name": "policy",' - ' "configMap": {' - ' "name": "horizon-policy"' - ' }' - ' }' - ' ]' - ' }' - ' ]' - ' }' - ' ]' - ' }' - ' }''' - ' ]' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | horizon.horizon.openstack.org/horizon patched' - ' logger.go:42: 13:44:57 | basic-deployment/2-update-extramounts-horizon | test step completed 2-update-extramounts-horizon' - ' logger.go:42: 13:44:57 | basic-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon' - ' logger.go:42: 13:45:29 | basic-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon' - ' logger.go:42: 13:45:29 | basic-deployment | skipping kubernetes event logging' - === CONT kuttl/harness/tls-deployment - ' logger.go:42: 13:45:29 | tls-deployment | Skipping creation of user-supplied namespace: horizon-kuttl-tests' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********le created' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | Secret:ho**********vc created' - ' logger.go:42: 13:45:29 | tls-deployment/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | starting test step 1-deploy_horizon' - ' logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/horizon_v1beta1_horizon_tls.yaml' - ' ]' - ' logger.go:42: 13:45:29 | tls-deployment/1-deploy_horizon | horizon.horizon.openstack.org/horizon created' - ' logger.go:42: 13:46:04 | tls-deployment/1-deploy_horizon | test step completed 1-deploy_horizon' - ' logger.go:42: 13:46:04 | tls-deployment/5-cleanup_horizon | starting test step 5-cleanup_horizon' - ' logger.go:42: 13:46:35 | tls-deployment/5-cleanup_horizon | test step completed 5-cleanup_horizon' - ' logger.go:42: 13:46:35 | tls-deployment | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (170.50s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/basic-deployment (104.16s)' - ' --- PASS: kuttl/harness/tls-deployment (66.31s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/horizon/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z horizon-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml - namespace/horizon-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - horizon-kuttl-tests Active - oc project horizon-kuttl-tests - Now using project "horizon-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - keystoneapi.keystone.openstack.org "keystone" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - galera.mariadb.openstack.org "openstack" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - memcached.memcached.openstack.org "memcached" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - NAME ALLREPLICASREADY RECONCILESUCCESS AGE - rabbitmq True True 4m43s - rabbitmqcluster.rabbitmq.com "rabbitmq" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make horizon_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep horizon - + CSV=horizon-operator.v0.0.1 - + '[' -n horizon-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv horizon-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "horizon-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription horizon-operator --ignore-not-found=true - subscription.operators.coreos.com "horizon-operator" deleted - + oc delete -n openstack-operators catalogsource horizon-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "horizon-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make kuttl_common_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep keystone - + CSV=keystone-operator.v0.0.1 - + '[' -n keystone-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "keystone-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true - subscription.operators.coreos.com "keystone-operator" deleted - + oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "keystone-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep rabbitmq-cluster - + CSV=rabbitmq-cluster-operator.v0.0.1 - + '[' -n rabbitmq-cluster-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "rabbitmq-cluster-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true - subscription.operators.coreos.com "rabbitmq-cluster-operator" deleted - + oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "rabbitmq-cluster-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z horizon-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/namespace.yaml - namespace/horizon-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io horizon-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - horizon-kuttl-tests Active - oc project horizon-kuttl-tests - Already on project "horizon-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/infra/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep infra - + CSV=infra-operator.v0.0.1 - + '[' -n infra-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "infra-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true - subscription.operators.coreos.com "infra-operator" deleted - + oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "infra-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/mariadb/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep mariadb - + CSV=mariadb-operator.v0.0.1 - + '[' -n mariadb-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "mariadb-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true - subscription.operators.coreos.com "mariadb-operator" deleted - + oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "mariadb-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input | oc delete --ignore-not-found=true -f - - secret "libvirt-secret" deleted - secret "octavia-ca-passphrase" deleted - secret "osp-secret" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/horizon-kuttl-tests/input - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z metallb ']' - ++ grep metallb - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - + CSV=metallb-operator.v4.18.0-202511181540 - + '[' -n metallb-operator.v4.18.0-202511181540 ']' - + oc delete -n openstack-operators csv metallb-operator.v4.18.0-202511181540 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "metallb-operator.v4.18.0-202511181540" deleted - + oc delete -n openstack-operators subscription metallb-operator --ignore-not-found=true - + oc delete -n openstack-operators catalogsource metallb-operator-index --ignore-not-found=true - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - ~/ci-framework-data/artifacts make_keystone_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_keystone_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nNow using project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in keystone-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/mariadb-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning into 'mariadb-operator'...\nRunning checkout: git checkout 3989cc50de31\nNote: switching to '3989cc50de31'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n+ oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator unchanged\nsubscription.operators.coreos.com/metallb-operator-sub unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nmetallb-operator-controller-manager-b9dd667db-j4qd7 \ 1/1 Running 0 107m\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 \ Running 0 107m\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb unchanged\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nspeaker-56dnr \ 2/2 Running 0 106m\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 1ff40691b66d\nNote: switching to '1ff40691b66d'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Memcached ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\n+ oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z RabbitmqCluster ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\n+ oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator\nCloning into 'keystone-operator'...\nRunning checkout: git checkout 8b3a77972a77\nNote: switching to '8b3a77972a77'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z KeystoneAPI ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake keystone_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nKEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests --namespace keystone-kuttl-tests \n2025/12/03 13:22:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 800 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests has 5 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/change_keystone_config\n=== PAUSE kuttl/harness/change_keystone_config\n=== RUN kuttl/harness/fernet_rotation\n=== PAUSE kuttl/harness/fernet_rotation\n=== RUN kuttl/harness/keystone_resources\n=== PAUSE kuttl/harness/keystone_resources\n=== RUN kuttl/harness/keystone_scale\n=== PAUSE kuttl/harness/keystone_scale\n=== RUN kuttl/harness/keystone_tls\n=== PAUSE kuttl/harness/keystone_tls\n=== CONT kuttl/harness/change_keystone_config\n \ logger.go:42: 13:22:57 | change_keystone_config | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | starting test step 0-deploy_keystone\n \ logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:22:58 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:03 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:04 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:09 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:10 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:16 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:17 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:20 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:21 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:23:22 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:23 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:24 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:25 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:26 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:28 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:29 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:30 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:31 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:33 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:34 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:35 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:36 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:37 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:39 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:40 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:41 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:42 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:43 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:45 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:46 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:47 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:48 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:50 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:51 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:52 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:53 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:54 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:56 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:58 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:23:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:24:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:24:01 | change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 13:24:01 | change_keystone_config/1- | starting test step 1-\n logger.go:42: 13:24:01 | change_keystone_config/1- | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]\n \ logger.go:42: 13:24:01 | change_keystone_config/1- | test step completed 1-\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | starting test step 2-change_keystone_config\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/customServiceConfig\", \"value\": \"[DEFAULT]\\ndebug = false\"}]'\n ]\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh --reverse]\n logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | error: arguments in resource/name form may not have more than one slash\n \ logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | test step completed 2-change_keystone_config\n logger.go:42: 13:24:01 | change_keystone_config/3-cleanup-keystone | starting test step 3-cleanup-keystone\n \ logger.go:42: 13:24:06 | change_keystone_config/3-cleanup-keystone | test step completed 3-cleanup-keystone\n logger.go:42: 13:24:06 | change_keystone_config | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_tls\n \ logger.go:42: 13:24:06 | keystone_tls | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********le created\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created\n logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | starting test step 1-keystoneapi_tls_deploy\n logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:10 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:16 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex\n logger.go:42: 13:24:18 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:37 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:41 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:44 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:48 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:51 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:54 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:56 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ ]\n logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | test step completed 1-keystoneapi_tls_deploy\n logger.go:42: 13:24:58 | keystone_tls/2-cleanup-keystone | starting test step 2-cleanup-keystone\n \ logger.go:42: 13:25:02 | keystone_tls/2-cleanup-keystone | test step completed 2-cleanup-keystone\n logger.go:42: 13:25:02 | keystone_tls | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_scale\n logger.go:42: 13:25:02 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n \ logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | starting test step 0-deploy_keystone\n logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n \ # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:04 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:05 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:10 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:11 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:25:14 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:15 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:16 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:17 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:19 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:20 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:21 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:22 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:24 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:25 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:26 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:27 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:29 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:30 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:31 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:32 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:34 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:35 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:36 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:37 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:38 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:40 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:41 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:42 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:43 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:44 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:46 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:47 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:48 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:49 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:50 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:52 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | test step completed 0-deploy_keystone\n \ logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | starting test step 1-scale-keystoneapi\n logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":3}]'\n \ ]\n logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:26:26 | keystone_scale/1-scale-keystoneapi | test step completed 1-scale-keystoneapi\n \ logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | starting test step 2-scale-down-keystoneapi\n logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":1}]'\n \ ]\n logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:26:27 | keystone_scale/2-scale-down-keystoneapi | test step completed 2-scale-down-keystoneapi\n \ logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | starting test step 3-scale-down-zero-keystoneapi\n logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":0}]'\n ]\n logger.go:42: 13:26:28 | keystone_scale/3-scale-down-zero-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 13:26:34 | keystone_scale/3-scale-down-zero-keystoneapi | test step completed 3-scale-down-zero-keystoneapi\n logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | starting test step 4-cleanup-keystone\n \ logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | test step completed 4-cleanup-keystone\n logger.go:42: 13:26:34 | keystone_scale | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_resources\n \ logger.go:42: 13:26:34 | keystone_resources | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | starting test step 0-deploy_keystone\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n \ # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:36 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:37 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:42 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:43 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:47 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:48 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:26:51 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:52 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:53 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:55 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:56 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:57 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:58 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:26:59 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:01 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:02 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:03 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:04 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:06 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:07 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:08 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:09 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:10 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:12 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:13 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:14 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:15 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:16 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:18 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:19 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:20 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:22 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:23 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:24 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:25 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:26 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:28 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:29 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | test step completed 0-deploy_keystone\n \ logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | starting test step 1-deploy-keystoneservice\n logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | KeystoneService:keystone-kuttl-tests/placement created\n logger.go:42: 13:27:33 | keystone_resources/1-deploy-keystoneservice | test step completed 1-deploy-keystoneservice\n logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | starting test step 2-deploy-keystoneendpoint\n \ logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | KeystoneEndpoint:keystone-kuttl-tests/placement created\n logger.go:42: 13:27:45 | keystone_resources/2-deploy-keystoneendpoint | test step completed 2-deploy-keystoneendpoint\n logger.go:42: 13:27:45 | keystone_resources/3-cleanup-keystoneendpoint | starting test step 3-cleanup-keystoneendpoint\n logger.go:42: 13:27:46 | keystone_resources/3-cleanup-keystoneendpoint | test step completed 3-cleanup-keystoneendpoint\n \ logger.go:42: 13:27:46 | keystone_resources/4-cleanup-keystoneservice | starting test step 4-cleanup-keystoneservice\n logger.go:42: 13:27:49 | keystone_resources/4-cleanup-keystoneservice | test step completed 4-cleanup-keystoneservice\n \ logger.go:42: 13:27:49 | keystone_resources/5-cleanup-keystone | starting test step 5-cleanup-keystone\n logger.go:42: 13:27:54 | keystone_resources/5-cleanup-keystone | test step completed 5-cleanup-keystone\n logger.go:42: 13:27:54 | keystone_resources | skipping kubernetes event logging\n=== CONT kuttl/harness/fernet_rotation\n \ logger.go:42: 13:27:54 | fernet_rotation | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | starting test step 0-deploy_keystone\n logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n \ # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:55 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:56 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:01 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:02 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:08 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:09 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex\n logger.go:42: 13:28:12 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:13 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:14 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:16 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:17 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:18 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:19 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:20 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:22 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:23 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:24 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:25 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:26 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:28 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:29 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:30 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:31 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:32 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:34 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:35 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:36 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:37 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:38 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:40 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:41 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:42 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:43 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:44 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:45 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:47 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:48 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:49 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't rely on\n # kuttl asserts to check them. This short script gathers the addresses and checks that\n # the three endpoints are defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \ \n # when using image digests the containerImage URLs are SHA's so we verify them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n echo \"$NAME image does not equal $VALUE\"\n exit 1\n fi\n fi\n done\n ]\n logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | test step completed 0-deploy_keystone\n \ logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | starting test step 1-deploy_openstackclient\n logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient created\n logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]\n \ logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | + oc wait --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests\n \ logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | pod/openstackclient condition met\n logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | + alias 'openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack'\n \ logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | ++ oc exec -tn keystone-kuttl-tests openstackclient -- openstack token issue -f value -c id\n logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + echo gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | test step completed 1-deploy_openstackclient\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | starting test step 2-rotate_keys\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | Secret:ke**********ne updated\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | running command: [sh -c ../../common/scripts/validate_test_token.sh]\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + seconds=1\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + '[' 1 -le 30 ']'\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | ++ oc get secret keystone -n keystone-kuttl-tests -o 'jsonpath={.metadata.annotations['\\''keystone\\.openstack\\.org/rotatedat'\\'']}'\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + rotatedat=2025-12-03T13:28:57Z\n \ logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + '[' 2025-12-03T13:28:57Z '!=' 2009-11-10T23:00:00Z ']'\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + break\n logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + sleep 60\n logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token\n logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | ++ true\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + output='The service catalog is empty.\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1'\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + echo 'The service catalog is empty.\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1'\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + grep -qi 'Could not recognize Fernet token'\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + exit 0\n logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | test step completed 2-rotate_keys\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | starting test step 3-rotate_keys_until_invalidate\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/rotate_token.sh]\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + TMP_SECRET_FILE=/tmp/keystone-secret.yaml\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n \ logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 1...'\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 1...\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Warning: resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\n logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n \ logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 1 completed successfully.'\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 1 completed successfully.\n \ logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 2...'\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 2...\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 2 completed successfully.'\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2 completed successfully.\n \ logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 3...'\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 3...\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 3 completed successfully.'\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 3 completed successfully.\n \ logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 4...'\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 4...\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 4 completed successfully.'\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 4 completed successfully.\n \ logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Starting rotation 5...'\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 5...\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat\n logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured\n logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Rotation 5 completed successfully.'\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 5 completed successfully.\n \ logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + rm -f /tmp/keystone-secret.yaml\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'All rotations completed successfully.'\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | All rotations completed successfully.\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:28 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + output='The service catalog is empty.\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'The service catalog is empty.\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1\n logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n \ logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo\n \ logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + output='Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)\n \ logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo 'Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)\n \ logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output='Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + echo 'Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)'\n \ logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0\n logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | test step completed 3-rotate_keys_until_invalidate\n logger.go:42: 13:38:58 | fernet_rotation/4-cleanup-openstackclient | starting test step 4-cleanup-openstackclient\n logger.go:42: 13:38:59 | fernet_rotation/4-cleanup-openstackclient | test step completed 4-cleanup-openstackclient\n \ logger.go:42: 13:38:59 | fernet_rotation/5-cleanup-keystone | starting test step 5-cleanup-keystone\n logger.go:42: 13:39:03 | fernet_rotation/5-cleanup-keystone | test step completed 5-cleanup-keystone\n logger.go:42: 13:39:03 | fernet_rotation | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (965.81s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/change_keystone_config (68.26s)\n \ --- PASS: kuttl/harness/keystone_tls (56.30s)\n --- PASS: kuttl/harness/keystone_scale (91.96s)\n --- PASS: kuttl/harness/keystone_resources (80.18s)\n --- PASS: kuttl/harness/fernet_rotation (669.08s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nNow using project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\ngalera.mariadb.openstack.org \"openstack\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nDefaulted container \"galera\" out of: galera, mysql-bootstrap (init)\nUnable to use a TTY - input is not a terminal or the right kind of file\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nmemcached.memcached.openstack.org \"memcached\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNAME ALLREPLICASREADY RECONCILESUCCESS AGE\nrabbitmq \ True True 17m\nrabbitmqcluster.rabbitmq.com \"rabbitmq\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake keystone_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep keystone\n+ CSV=keystone-operator.v0.0.1\n+ '[' -n keystone-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"keystone-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"keystone-operator\" deleted\n+ oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"keystone-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake kuttl_db_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nAlready on project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep infra\n+ CSV=infra-operator.v0.0.1\n+ '[' -n infra-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"infra-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"infra-operator\" deleted\n+ oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"infra-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep mariadb\n+ CSV=mariadb-operator.v0.0.1\n+ '[' -n mariadb-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"mariadb-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"mariadb-operator\" deleted\n+ oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"mariadb-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc delete --ignore-not-found=true -f -\nsecret \"libvirt-secret\" deleted\nsecret \"octavia-ca-passphrase\" deleted\nsecret \"osp-secret\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake rabbitmq_deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests Active\noc project keystone-kuttl-tests\nAlready on project \"keystone-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nNo resources found in keystone-kuttl-tests namespace.\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake rabbitmq_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-cleanup.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true\n++ grep rabbitmq-cluster\n+ CSV=rabbitmq-cluster-operator.v0.0.1\n+ '[' -n rabbitmq-cluster-operator.v0.0.1 ']'\n+ oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true\nclusterserviceversion.operators.coreos.com \"rabbitmq-cluster-operator.v0.0.1\" deleted\n+ oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true\nsubscription.operators.coreos.com \"rabbitmq-cluster-operator\" deleted\n+ oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true\ncatalogsource.operators.coreos.com \"rabbitmq-cluster-operator-index\" deleted\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/restore-namespace.sh\nNow using project \"openstack\" on server \"https://api.crc.testing:6443\".\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Now using project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z keystone-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in keystone-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=mariadb-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE mariadb-operator-index - OPERATOR_SOURCE mariadb-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - catalogsource.operators.coreos.com/mariadb-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/mariadb-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator' - Cloning into 'mariadb-operator'... - 'Running checkout: git checkout 3989cc50de31' - 'Note: switching to ''3989cc50de31''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 3989cc5 Merge pull request #386 from stuggi/operator_sdk_1.41.1_pprofBindAddress' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z Galera ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Galera == OpenStackControlPlane ']' - + '[' Galera == Galera ']' - + cat - + '[' Galera == NetConfig ']' - + '[' -n '' ']' - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./mariadb_v1beta1_galera.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - + oc apply -f - - galera.mariadb.openstack.org/openstack created - + '[' 0 -lt 15 ']' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator unchanged - subscription.operators.coreos.com/metallb-operator-sub unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - metallb-operator-controller-manager-b9dd667db-j4qd7 1/1 Running 0 107m - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 107m - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb unchanged - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - speaker-56dnr 2/2 Running 0 106m - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=infra-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE infra-operator-index - OPERATOR_SOURCE infra-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - catalogsource.operators.coreos.com/infra-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/infra-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator' - Cloning into 'infra-operator'... - 'Running checkout: git checkout 1ff40691b66d' - 'Note: switching to ''1ff40691b66d''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z Memcached ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n memcached ']' - + cat - + '[' Memcached == OpenStackControlPlane ']' - + '[' Memcached == Galera ']' - + '[' Memcached == NetConfig ']' - + '[' -n '' ']' - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./memcached_v1beta1_memcached.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - + oc apply -f - - memcached.memcached.openstack.org/memcached created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index - OPERATOR_SOURCE rabbitmq-cluster-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/rabbitmq-cluster-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator' - Cloning into 'rabbitmq-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z RabbitmqCluster ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=image - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n rabbitmq ']' - + cat - + '[' RabbitmqCluster == OpenStackControlPlane ']' - + '[' RabbitmqCluster == Galera ']' - + '[' RabbitmqCluster == NetConfig ']' - + '[' -n '' ']' - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./rabbitmq.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./rabbitmq.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z rabbitmq ']' - + '[' rabbitmq = rabbitmq ']' - + OPERATOR_NAME=rabbitmq-cluster - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - + oc apply -f - - rabbitmqcluster.rabbitmq.com/rabbitmq created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=keystone-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE keystone-operator-index - OPERATOR_SOURCE keystone-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - catalogsource.operators.coreos.com/keystone-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/keystone-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator' - Cloning into 'keystone-operator'... - 'Running checkout: git checkout 8b3a77972a77' - 'Note: switching to ''8b3a77972a77''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8b3a779 Merge pull request #649 from openstack-k8s-operators/renovate/k8s.io-0.31.x-replaces' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z keystone-kuttl-tests ']' - + '[' -z KeystoneAPI ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' KeystoneAPI == OpenStackControlPlane ']' - + '[' KeystoneAPI == Galera ']' - + '[' KeystoneAPI == NetConfig ']' - + '[' -n '' ']' - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./keystone_v1beta1_keystoneapi.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make keystone_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'KEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests --namespace keystone-kuttl-tests ' - '2025/12/03 13:22:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 800 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests has 5 tests' - === RUN kuttl/harness - === RUN kuttl/harness/change_keystone_config - === PAUSE kuttl/harness/change_keystone_config - === RUN kuttl/harness/fernet_rotation - === PAUSE kuttl/harness/fernet_rotation - === RUN kuttl/harness/keystone_resources - === PAUSE kuttl/harness/keystone_resources - === RUN kuttl/harness/keystone_scale - === PAUSE kuttl/harness/keystone_scale - === RUN kuttl/harness/keystone_tls - === PAUSE kuttl/harness/keystone_tls - === CONT kuttl/harness/change_keystone_config - ' logger.go:42: 13:22:57 | change_keystone_config | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:22:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:22:58 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:22:59 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:00 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:01 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:02 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:03 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:04 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:05 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:06 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:07 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:08 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:09 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:10 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:11 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:12 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:13 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:14 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:15 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:16 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:17 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:18 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:19 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:20 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:21 | change_keystone_config/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:23:22 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:23 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:24 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:25 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:26 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:28 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:29 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:30 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:31 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:33 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:34 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:35 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:36 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:37 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:39 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:40 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:41 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:42 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:43 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:45 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:46 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:47 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:48 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:50 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:51 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:52 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:53 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:54 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:56 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:57 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:58 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:23:59 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:24:00 | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:24:01 | change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:24:01 | change_keystone_config/1- | starting test step 1-' - ' logger.go:42: 13:24:01 | change_keystone_config/1- | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]' - ' logger.go:42: 13:24:01 | change_keystone_config/1- | test step completed 1-' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | starting test step 2-change_keystone_config' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/customServiceConfig", "value": "[DEFAULT]\ndebug = false"}]''' - ' ]' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh --reverse]' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | error: arguments in resource/name form may not have more than one slash' - ' logger.go:42: 13:24:01 | change_keystone_config/2-change_keystone_config | test step completed 2-change_keystone_config' - ' logger.go:42: 13:24:01 | change_keystone_config/3-cleanup-keystone | starting test step 3-cleanup-keystone' - ' logger.go:42: 13:24:06 | change_keystone_config/3-cleanup-keystone | test step completed 3-cleanup-keystone' - ' logger.go:42: 13:24:06 | change_keystone_config | skipping kubernetes event logging' - === CONT kuttl/harness/keystone_tls - ' logger.go:42: 13:24:06 | keystone_tls | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********le created' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | Secret:ke**********vc created' - ' logger.go:42: 13:24:06 | keystone_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | starting test step 1-keystoneapi_tls_deploy' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:06 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:07 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:08 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:10 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:11 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:12 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:13 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:14 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:16 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:17 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:24:18 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:25 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:32 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:35 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:36 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:37 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:38 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:41 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:42 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:44 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:48 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:49 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:51 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:54 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:56 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 13:24:58 | keystone_tls/1-keystoneapi_tls_deploy | test step completed 1-keystoneapi_tls_deploy' - ' logger.go:42: 13:24:58 | keystone_tls/2-cleanup-keystone | starting test step 2-cleanup-keystone' - ' logger.go:42: 13:25:02 | keystone_tls/2-cleanup-keystone | test step completed 2-cleanup-keystone' - ' logger.go:42: 13:25:02 | keystone_tls | skipping kubernetes event logging' - === CONT kuttl/harness/keystone_scale - ' logger.go:42: 13:25:02 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:02 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:03 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:04 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:05 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:06 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:07 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:08 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:09 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:10 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:11 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:12 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:13 | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:25:14 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:15 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:16 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:17 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:19 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:20 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:21 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:22 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:24 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:25 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:26 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:27 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:29 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:30 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:31 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:32 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:34 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:35 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:36 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:37 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:38 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:40 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:41 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:42 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:43 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:44 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:46 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:47 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:48 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:49 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:50 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:52 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:25:53 | keystone_scale/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | starting test step 1-scale-keystoneapi' - ' logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/replicas", "value":3}]''' - ' ]' - ' logger.go:42: 13:25:53 | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:26:26 | keystone_scale/1-scale-keystoneapi | test step completed 1-scale-keystoneapi' - ' logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | starting test step 2-scale-down-keystoneapi' - ' logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 13:26:26 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:26:27 | keystone_scale/2-scale-down-keystoneapi | test step completed 2-scale-down-keystoneapi' - ' logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | starting test step 3-scale-down-zero-keystoneapi' - ' logger.go:42: 13:26:27 | keystone_scale/3-scale-down-zero-keystoneapi | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": "replace", "path": "/spec/replicas", "value":0}]''' - ' ]' - ' logger.go:42: 13:26:28 | keystone_scale/3-scale-down-zero-keystoneapi | keystoneapi.keystone.openstack.org/keystone patched' - ' logger.go:42: 13:26:34 | keystone_scale/3-scale-down-zero-keystoneapi | test step completed 3-scale-down-zero-keystoneapi' - ' logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | starting test step 4-cleanup-keystone' - ' logger.go:42: 13:26:34 | keystone_scale/4-cleanup-keystone | test step completed 4-cleanup-keystone' - ' logger.go:42: 13:26:34 | keystone_scale | skipping kubernetes event logging' - === CONT kuttl/harness/keystone_resources - ' logger.go:42: 13:26:34 | keystone_resources | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:34 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:35 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:36 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:37 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:38 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:39 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:40 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:41 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:42 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:43 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:44 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:45 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:46 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:47 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:48 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:49 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:50 | keystone_resources/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:26:51 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:52 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:53 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:55 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:56 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:57 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:58 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:26:59 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:01 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:02 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:03 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:04 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:06 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:07 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:08 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:09 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:10 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:12 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:13 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:14 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:15 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:16 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:18 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:19 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:20 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:22 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:23 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:24 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:25 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:26 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:28 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:29 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:30 | keystone_resources/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | starting test step 1-deploy-keystoneservice' - ' logger.go:42: 13:27:30 | keystone_resources/1-deploy-keystoneservice | KeystoneService:keystone-kuttl-tests/placement created' - ' logger.go:42: 13:27:33 | keystone_resources/1-deploy-keystoneservice | test step completed 1-deploy-keystoneservice' - ' logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | starting test step 2-deploy-keystoneendpoint' - ' logger.go:42: 13:27:33 | keystone_resources/2-deploy-keystoneendpoint | KeystoneEndpoint:keystone-kuttl-tests/placement created' - ' logger.go:42: 13:27:45 | keystone_resources/2-deploy-keystoneendpoint | test step completed 2-deploy-keystoneendpoint' - ' logger.go:42: 13:27:45 | keystone_resources/3-cleanup-keystoneendpoint | starting test step 3-cleanup-keystoneendpoint' - ' logger.go:42: 13:27:46 | keystone_resources/3-cleanup-keystoneendpoint | test step completed 3-cleanup-keystoneendpoint' - ' logger.go:42: 13:27:46 | keystone_resources/4-cleanup-keystoneservice | starting test step 4-cleanup-keystoneservice' - ' logger.go:42: 13:27:49 | keystone_resources/4-cleanup-keystoneservice | test step completed 4-cleanup-keystoneservice' - ' logger.go:42: 13:27:49 | keystone_resources/5-cleanup-keystone | starting test step 5-cleanup-keystone' - ' logger.go:42: 13:27:54 | keystone_resources/5-cleanup-keystone | test step completed 5-cleanup-keystone' - ' logger.go:42: 13:27:54 | keystone_resources | skipping kubernetes event logging' - === CONT kuttl/harness/fernet_rotation - ' logger.go:42: 13:27:54 | fernet_rotation | Skipping creation of user-supplied namespace: keystone-kuttl-tests' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | starting test step 0-deploy_keystone' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone created' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:54 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:55 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:56 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:57 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:58 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:27:59 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:00 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:01 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:02 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:03 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:04 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:05 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:06 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:07 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:08 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:09 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:10 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:11 | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not match regex' - ' logger.go:42: 13:28:12 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:13 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:14 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:16 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:17 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:18 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:19 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:20 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:22 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:23 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:24 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:25 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:26 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:28 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:29 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:30 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:31 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:32 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:34 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:35 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:36 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:37 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:38 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:40 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:41 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:42 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:43 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:44 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:45 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:47 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:48 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:49 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t rely on' - ' # kuttl asserts to check them. This short script gathers the addresses and checks that' - ' # the three endpoints are defined and their addresses follow the default pattern' - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' - ' exit 1' - ' fi' - ' ' - ' # when using image digests the containerImage URLs are SHA''s so we verify them with a script' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager -o go-template="$tupleTemplate")' - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' ]' - ' logger.go:42: 13:28:50 | fernet_rotation/0-deploy_keystone | test step completed 0-deploy_keystone' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | starting test step 1-deploy_openstackclient' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient created' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | running command: [sh -c ../../common/scripts/create_test_token.sh]' - ' logger.go:42: 13:28:50 | fernet_rotation/1-deploy_openstackclient | + oc wait --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' - ' logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | pod/openstackclient condition met' - ' logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | + alias ''openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack''' - ' logger.go:42: 13:28:52 | fernet_rotation/1-deploy_openstackclient | ++ oc exec -tn keystone-kuttl-tests openstackclient -- openstack token issue -f value -c id' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | + echo gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:28:57 | fernet_rotation/1-deploy_openstackclient | test step completed 1-deploy_openstackclient' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | starting test step 2-rotate_keys' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | Secret:ke**********ne updated' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | running command: [sh -c ../../common/scripts/validate_test_token.sh]' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + seconds=1' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + ''['' 1 -le 30 '']''' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | ++ oc get secret keystone -n keystone-kuttl-tests -o ''jsonpath={.metadata.annotations[''\''''keystone\.openstack\.org/rotatedat''\'''']}''' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + rotatedat=2025-12-03T13:28:57Z' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + ''['' 2025-12-03T13:28:57Z ''!='' 2009-11-10T23:00:00Z '']''' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + break' - ' logger.go:42: 13:28:57 | fernet_rotation/2-rotate_keys | + sleep 60' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:29:57 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | ++ true' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + output=''The service catalog is empty.' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1''' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + echo ''The service catalog is empty.' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | command terminated with exit code 1''' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + grep -qi ''Could not recognize Fernet token''' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | + exit 0' - ' logger.go:42: 13:30:01 | fernet_rotation/2-rotate_keys | test step completed 2-rotate_keys' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | starting test step 3-rotate_keys_until_invalidate' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/rotate_token.sh]' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + TMP_SECRET_FILE=/tmp/keystone-secret.yaml' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 1...''' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 1...' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:30:01 | fernet_rotation/3-rotate_keys_until_invalidate | Warning: resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - ' logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:30:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 1 completed successfully.''' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 1 completed successfully.' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 2...''' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 2...' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:31:42 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 2 completed successfully.''' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2 completed successfully.' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 3...''' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 3...' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:33:22 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 3 completed successfully.''' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 3 completed successfully.' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 4...''' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 4...' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:35:02 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 4 completed successfully.''' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 4 completed successfully.' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + for rotation in {1..5}' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Starting rotation 5...''' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | Starting rotation 5...' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + generate_secret_yaml' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + cat' - ' logger.go:42: 13:36:42 | fernet_rotation/3-rotate_keys_until_invalidate | + oc apply -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone configured' - ' logger.go:42: 13:36:43 | fernet_rotation/3-rotate_keys_until_invalidate | + sleep 100' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Rotation 5 completed successfully.''' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 5 completed successfully.' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + rm -f /tmp/keystone-secret.yaml' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''All rotations completed successfully.''' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | All rotations completed successfully.' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:25 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:27 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:28 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:30 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:33 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:36 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:38 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:41 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:44 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:47 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:49 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:52 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''The service catalog is empty.' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''The service catalog is empty.' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:55 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 1' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/test_invalid_token.sh]' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + export OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | + OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo' - ' logger.go:42: 13:38:56 | fernet_rotation/3-rotate_keys_until_invalidate | ++ oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpMDsZOSGYvyf12kccm-IDnPMNfJldmHazhCGoPZdp1iW0aFLDDQ1L0aQPPZD6_B95X1TryXZlPJFpdiG68zjOX2rJHdDg1aWyFWhmhSDm-NagRkxUGUXQpmpzXZzVC1A5W1BRiWkz6ERSmQcg8bu28j2LXBz5piuVs7ct646A5bQt2uo openstack endpoint list' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + output=''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ echo ''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | ++ grep -i ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | command terminated with exit code 1''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + filtered_output=''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + echo ''Could not recognize Fernet token (HTTP 404) (Request-ID: req-35f722c8-cdd5-4031-915c-57213749f815)''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + grep -q ''Could not recognize Fernet token''' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | + exit 0' - ' logger.go:42: 13:38:58 | fernet_rotation/3-rotate_keys_until_invalidate | test step completed 3-rotate_keys_until_invalidate' - ' logger.go:42: 13:38:58 | fernet_rotation/4-cleanup-openstackclient | starting test step 4-cleanup-openstackclient' - ' logger.go:42: 13:38:59 | fernet_rotation/4-cleanup-openstackclient | test step completed 4-cleanup-openstackclient' - ' logger.go:42: 13:38:59 | fernet_rotation/5-cleanup-keystone | starting test step 5-cleanup-keystone' - ' logger.go:42: 13:39:03 | fernet_rotation/5-cleanup-keystone | test step completed 5-cleanup-keystone' - ' logger.go:42: 13:39:03 | fernet_rotation | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (965.81s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/change_keystone_config (68.26s)' - ' --- PASS: kuttl/harness/keystone_tls (56.30s)' - ' --- PASS: kuttl/harness/keystone_scale (91.96s)' - ' --- PASS: kuttl/harness/keystone_resources (80.18s)' - ' --- PASS: kuttl/harness/fernet_rotation (669.08s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Now using project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - galera.mariadb.openstack.org "openstack" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Defaulted container "galera" out of: galera, mysql-bootstrap (init)' - Unable to use a TTY - input is not a terminal or the right kind of file - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - memcached.memcached.openstack.org "memcached" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - NAME ALLREPLICASREADY RECONCILESUCCESS AGE - rabbitmq True True 17m - rabbitmqcluster.rabbitmq.com "rabbitmq" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make keystone_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep keystone - + CSV=keystone-operator.v0.0.1 - + '[' -n keystone-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv keystone-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "keystone-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription keystone-operator --ignore-not-found=true - subscription.operators.coreos.com "keystone-operator" deleted - + oc delete -n openstack-operators catalogsource keystone-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "keystone-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make kuttl_db_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Already on project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep infra - + CSV=infra-operator.v0.0.1 - + '[' -n infra-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv infra-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "infra-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription infra-operator --ignore-not-found=true - subscription.operators.coreos.com "infra-operator" deleted - + oc delete -n openstack-operators catalogsource infra-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "infra-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep mariadb - + CSV=mariadb-operator.v0.0.1 - + '[' -n mariadb-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv mariadb-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "mariadb-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription mariadb-operator --ignore-not-found=true - subscription.operators.coreos.com "mariadb-operator" deleted - + oc delete -n openstack-operators catalogsource mariadb-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "mariadb-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input | oc delete --ignore-not-found=true -f - - secret "libvirt-secret" deleted - secret "octavia-ca-passphrase" deleted - secret "osp-secret" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make rabbitmq_deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z keystone-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml - namespace/keystone-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - keystone-kuttl-tests Active - oc project keystone-kuttl-tests - Already on project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - No resources found in keystone-kuttl-tests namespace. - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make rabbitmq_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-cleanup.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - ++ oc get csv --no-headers -o custom-columns=:metadata.name --ignore-not-found=true - ++ grep rabbitmq-cluster - + CSV=rabbitmq-cluster-operator.v0.0.1 - + '[' -n rabbitmq-cluster-operator.v0.0.1 ']' - + oc delete -n openstack-operators csv rabbitmq-cluster-operator.v0.0.1 --ignore-not-found=true - clusterserviceversion.operators.coreos.com "rabbitmq-cluster-operator.v0.0.1" deleted - + oc delete -n openstack-operators subscription rabbitmq-cluster-operator --ignore-not-found=true - subscription.operators.coreos.com "rabbitmq-cluster-operator" deleted - + oc delete -n openstack-operators catalogsource rabbitmq-cluster-operator-index --ignore-not-found=true - catalogsource.operators.coreos.com "rabbitmq-cluster-operator-index" deleted - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/restore-namespace.sh - Now using project "openstack" on server "https://api.crc.testing:6443". - ~/ci-framework-data/artifacts make_openstack_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig NETWORK_MTU: 1500 NNCP_DNS_SERVER: 192.168.122.10 NNCP_INTERFACE: ens7 OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin PV_NUM: 20 make_openstack_kuttl_status: attempts: 1 changed: true failed: false rc: 0 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml\nnamespace/openstack-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-kuttl-tests Active\noc project openstack-kuttl-tests\nNow using project \"openstack-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z openstack-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nerror: the server doesn't have a resource type \"RabbitmqCluster\"\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/rabbitmq/cr\nbash scripts/validate-marketplace.sh\n+ '[' -z 500s ']'\n+ OPERATOR_NAMESPACE=openshift-marketplace\n++ oc get pods --no-headers -n openshift-marketplace\n++ grep -viE 'running|completed'\n+ not_running_pods=\n+ '[' -z '' ']'\n+ echo 'All openshift-marketplace pods seems to me fine'\nAll openshift-marketplace pods seems to me fine\n+ OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator'\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep openshift-cert-manager-operator\nopenshift-cert-manager-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ grep kubernetes-nmstate-operator\n+ oc get packagemanifests -n openshift-marketplace\nkubernetes-nmstate-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep metallb-operator\nmetallb-operator Red Hat Operators 283d\n+ '[' 0 -eq 0 ']'\n+ break\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openshift-nmstate ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/namespace.yaml\nnamespace/openshift-nmstate created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openshift-nmstate); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenshift-nmstate \ Active\nbash scripts/gen-olm-nmstate.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op\noperatorgroup.operators.coreos.com/openshift-nmstate-tn6k8 created\nsubscription.operators.coreos.com/kubernetes-nmstate-operator created\ntimeout 500s bash -c \"while ! (oc get deployments/nmstate-operator -n openshift-nmstate); do sleep 10; done\"\nError from server (NotFound): deployments.apps \"nmstate-operator\" not found\nError from server (NotFound): deployments.apps \"nmstate-operator\" not found\nNAME READY UP-TO-DATE AVAILABLE AGE\nnmstate-operator \ 1/1 1 1 9s\noc wait deployments/nmstate-operator -n openshift-nmstate --for condition=Available --timeout=500s\ndeployment.apps/nmstate-operator condition met\ntimeout 500s bash -c \"while ! (oc wait pod -n openshift-apiserver -l apiserver=true --for condition=Ready); do sleep 10; done\"\npod/apiserver-76f77b778f-dmvst condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr\nnmstate.nmstate.io/nmstate created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=kubernetes-nmstate-handler -n openshift-nmstate| grep nmstate-handler); do sleep 10; done\"\nNo resources found in openshift-nmstate namespace.\nnmstate-handler-qggff 0/1 Running \ 0 10s\noc wait pod -n openshift-nmstate -l component=kubernetes-nmstate-handler --for condition=Ready --timeout=500s\npod/nmstate-handler-qggff condition met\ntimeout 500s bash -c \"while ! (oc get deployments/nmstate-webhook -n openshift-nmstate); do sleep 10; done\"\nNAME READY UP-TO-DATE \ AVAILABLE AGE\nnmstate-webhook 0/1 1 0 11s\noc wait deployments/nmstate-webhook -n openshift-nmstate --for condition=Available --timeout=500s\ndeployment.apps/nmstate-webhook condition met\nWORKERS='crc' \\\nbash scripts/gen-nncp.sh\n+ check_var_set DEPLOY_DIR\n+ [[ ! -v DEPLOY_DIR ]]\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr\n+ check_var_set WORKERS\n+ [[ ! -v WORKERS ]]\n+ check_var_set INTERFACE\n+ [[ ! -v INTERFACE ]]\n+ check_var_set BRIDGE_NAME\n+ [[ ! -v BRIDGE_NAME ]]\n+ check_var_set INTERFACE_MTU\n+ [[ ! -v INTERFACE_MTU ]]\n+ check_var_set VLAN_START\n+ [[ ! -v VLAN_START ]]\n+ check_var_set VLAN_STEP\n+ [[ ! -v VLAN_STEP ]]\n+ check_var_set VLAN_STEP\n+ [[ ! -v VLAN_STEP ]]\n+ check_var_set INTERNALAPI_PREFIX\n+ [[ ! -v INTERNALAPI_PREFIX ]]\n+ check_var_set STORAGE_PREFIX\n+ [[ ! -v STORAGE_PREFIX ]]\n+ check_var_set STORAGEMGMT_PREFIX\n+ [[ ! -v STORAGEMGMT_PREFIX ]]\n+ check_var_set TENANT_PREFIX\n+ [[ ! -v TENANT_PREFIX ]]\n+ check_var_set DESIGNATE_PREFIX\n+ [[ ! -v DESIGNATE_PREFIX ]]\n+ check_var_set DESIGNATE_EXT_PREFIX\n+ [[ ! -v DESIGNATE_EXT_PREFIX ]]\n+ '[' -n '' ']'\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr\n+ echo WORKERS crc\nWORKERS crc\n+ echo INTERFACE ens7\nINTERFACE ens7\n+ echo BRIDGE_NAME ospbr\nBRIDGE_NAME ospbr\n+ echo INTERFACE_BGP_1\nINTERFACE_BGP_1\n+ echo INTERFACE_BGP_2\nINTERFACE_BGP_2\n+ echo INTERFACE_MTU 1500\nINTERFACE_MTU 1500\n+ echo VLAN_START 20\nVLAN_START 20\n+ echo VLAN_STEP 1\nVLAN_STEP 1\n+ echo STORAGE_MACVLAN\nSTORAGE_MACVLAN\n+ '[' -n true ']'\n+ echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122\nCTLPLANE_IP_ADDRESS_PREFIX 192.168.122\n+ echo CTLPLANE_IP_ADDRESS_SUFFIX 10\nCTLPLANE_IP_ADDRESS_SUFFIX 10\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ IP_ADDRESS_SUFFIX=5\n+ IPV6_ADDRESS_SUFFIX=5\n+ rm --force '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/*_nncp.yaml'\n+ internalapi_vlan_id=20\n+ storage_vlan_id=21\n+ tenant_vlan_id=22\n+ storagemgmt_vlan_id=23\n+ octavia_vlan_id=24\n+ designate_vlan_id=25\n+ designate_ext_vlan_id=26\n+ for WORKER in ${WORKERS}\n+ cat\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n '' ']'\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ IP_ADDRESS_SUFFIX=6\n+ IPV6_ADDRESS_SUFFIX=6\n+ CTLPLANE_IP_ADDRESS_SUFFIX=11\n+ CTLPLANE_IPV6_ADDRESS_SUFFIX=1\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/\nnodenetworkconfigurationpolicy.nmstate.io/ens7-crc created\ntimeout 240s bash -c \"while ! (oc wait nncp -l osp/interface=ens7 --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured); do sleep 10; done\"\nnodenetworkconfigurationpolicy.nmstate.io/ens7-crc condition met\nif test -n \"192.168.122.10\"; then oc patch dns.operator/default --type merge -p '{\"spec\":{\"upstreamResolvers\":{\"policy\":\"Sequential\",\"upstreams\":[{\"type\":\"Network\",\"address\":\"'192.168.122.10'\",\"port\":53},{\"type\":\"SystemResolvConf\"}]}}}'; fi\ndns.operator.openshift.io/default patched\ntimeout 240s bash -c \"while ! (oc wait dns.operator/default --for condition=available); do sleep 10; done\"\ndns.operator.openshift.io/default condition met\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator created\nsubscription.operators.coreos.com/metallb-operator-sub created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nNo resources found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-b9dd667db-j4qd7 0/1 ContainerCreating \ 0 1s\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-5b4bcb5c5f-ttnfj \ 1/1 Running 0 40s\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nNo resources found in metallb-system namespace.\nspeaker-56dnr 1/2 Running 0 10s\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-56dnr condition met\nmake operator_namespace\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z cert-manager-operator ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/namespace.yaml\nnamespace/cert-manager-operator created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io cert-manager-operator); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncert-manager-operator Active\noc project cert-manager-operator\nNow using project \"cert-manager-operator\" on server \"https://api.crc.testing:6443\".\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-olm-cert-manager.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']'\n+ '[' -z cert-manager-operator ']'\n+ '[' -z stable-v1 ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\n+ echo OPERATOR_NAMESPACE cert-manager-operator\nOPERATOR_NAMESPACE cert-manager-operator\n+ echo CHANNEL stable-v1\nCHANNEL stable-v1\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op\noperatorgroup.operators.coreos.com/cert-manager-operator-bccwx created\nsubscription.operators.coreos.com/openshift-cert-manager-operator created\nwhile ! (oc get pod --no-headers=true -l name=cert-manager-operator -n cert-manager-operator| grep \"cert-manager-operator\"); do sleep 10; done\nNo resources found in cert-manager-operator namespace.\nNo resources found in cert-manager-operator namespace.\ncert-manager-operator-controller-manager-64cf6dff88-bzrrx \ 0/1 ContainerCreating 0 7s\noc wait pod -n cert-manager-operator --for condition=Ready -l name=cert-manager-operator --timeout=300s\npod/cert-manager-operator-controller-manager-64cf6dff88-bzrrx condition met\nwhile ! (oc get pod --no-headers=true -l app=cainjector -n cert-manager | grep \"cert-manager-cainjector\"); do sleep 10; done\nNo resources found in cert-manager namespace.\ncert-manager-cainjector-855d9ccff4-5pthb \ 0/1 ContainerCreating 0 6s\noc wait pod -n cert-manager -l app=cainjector --for condition=Ready --timeout=300s\npod/cert-manager-cainjector-855d9ccff4-5pthb condition met\nwhile ! (oc get pod --no-headers=true -l app=webhook -n cert-manager | grep \"cert-manager-webhook\"); do sleep 10; done\ncert-manager-webhook-f4fb5df64-z8l9s \ 0/1 Running 0 10s\noc wait pod -n cert-manager -l app=webhook --for condition=Ready --timeout=300s\npod/cert-manager-webhook-f4fb5df64-z8l9s condition met\nwhile ! (oc get pod --no-headers=true -l app=cert-manager -n cert-manager | grep \"cert-manager\"); do sleep 10; done\ncert-manager-86cb77c54b-jdfq2 \ 1/1 Running 0 3s\noc wait pod -n cert-manager -l app=cert-manager --for condition=Ready --timeout=300s\npod/cert-manager-86cb77c54b-jdfq2 condition met\nbash scripts/gen-netatt.sh\n+ check_var_set DEPLOY_DIR\n+ [[ ! -v DEPLOY_DIR ]]\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr\n+ check_var_set INTERFACE\n+ [[ ! -v INTERFACE ]]\n+ check_var_set BRIDGE_NAME\n+ [[ ! -v BRIDGE_NAME ]]\n+ check_var_set VLAN_START\n+ [[ ! -v VLAN_START ]]\n+ check_var_set VLAN_STEP\n+ [[ ! -v VLAN_STEP ]]\n+ '[' -z true ']'\n+ '[' -n true ']'\n+ '[' -n '' ']'\n+ '[' -n true ']'\n+ check_var_set INTERNALAPI_PREFIX\n+ [[ ! -v INTERNALAPI_PREFIX ]]\n+ check_var_set STORAGE_PREFIX\n+ [[ ! -v STORAGE_PREFIX ]]\n+ check_var_set STORAGEMGMT_PREFIX\n+ [[ ! -v STORAGEMGMT_PREFIX ]]\n+ check_var_set TENANT_PREFIX\n+ [[ ! -v TENANT_PREFIX ]]\n+ check_var_set DESIGNATE_PREFIX\n+ [[ ! -v DESIGNATE_PREFIX ]]\n+ check_var_set DESIGNATE_EXT_PREFIX\n+ [[ ! -v DESIGNATE_EXT_PREFIX ]]\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr\n+ echo INTERFACE ens7\nINTERFACE ens7\n+ echo VLAN_START 20\nVLAN_START 20\n+ echo VLAN_STEP 1\nVLAN_STEP 1\n+ '[' -n true ']'\n+ echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122\nCTLPLANE_IP_ADDRESS_PREFIX 192.168.122\n+ echo CTLPLANE_IP_ADDRESS_SUFFIX 10\nCTLPLANE_IP_ADDRESS_SUFFIX 10\n+ echo 'INTERNALAPI_PREFIX 172.17.0'\nINTERNALAPI_PREFIX 172.17.0\n+ echo 'STORAGE_PREFIX 172.18.0'\nSTORAGE_PREFIX 172.18.0\n+ echo 'STORAGEMGMT_PREFIX 172.20.0'\nSTORAGEMGMT_PREFIX 172.20.0\n+ echo 'TENANT_PREFIX 172.19.0'\nTENANT_PREFIX 172.19.0\n+ echo 'DESIGNATE_PREFIX 172.28.0'\nDESIGNATE_PREFIX 172.28.0\n+ echo 'DESIGNATE_PREFIX 172.50.0'\nDESIGNATE_PREFIX 172.50.0\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ '[' -n true ']'\n+ cat\n+ cat\n+ cat\n+ cat\n+ '[' -n '' ']'\n+ '[' -n '' ']'\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr/\nnetworkattachmentdefinition.k8s.cni.cncf.io/ctlplane created\nnetworkattachmentdefinition.k8s.cni.cncf.io/datacentre created\nnetworkattachmentdefinition.k8s.cni.cncf.io/designate created\nnetworkattachmentdefinition.k8s.cni.cncf.io/designateext created\nnetworkattachmentdefinition.k8s.cni.cncf.io/internalapi created\nnetworkattachmentdefinition.k8s.cni.cncf.io/octavia created\nnetworkattachmentdefinition.k8s.cni.cncf.io/storage created\nnetworkattachmentdefinition.k8s.cni.cncf.io/storagemgmt created\nnetworkattachmentdefinition.k8s.cni.cncf.io/tenant created\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml\" does not exist\nmake: [Makefile:2551: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml\" does not exist\nmake: [Makefile:2552: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml\" does not exist\nmake: [Makefile:2553: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml\" does not exist\nmake: [Makefile:2554: metallb_config_cleanup] Error 1 (ignored)\noc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml\nerror: the path \"/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml\" does not exist\nmake: [Makefile:2555: metallb_config_cleanup] Error 1 (ignored)\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml\nbash scripts/gen-metallb-config.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' -z ens7 ']'\n+ '[' -z ospbr ']'\n+ '[' -z 64999 ']'\n+ '[' -z 64999 ']'\n+ '[' -z 100.65.4.1 ']'\n+ '[' -z 100.64.4.1 ']'\n+ '[' -z 172.30.4.2 ']'\n+ '[' -z true ']'\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE ens7\nINTERFACE ens7\n+ echo CTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90\nCTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90\n+ echo CTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90\nCTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ '[' -n true ']'\n+ cat\n+ '[' -n '' ']'\n+ cat\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml\nipaddresspool.metallb.io/ctlplane created\nipaddresspool.metallb.io/internalapi created\nipaddresspool.metallb.io/storage created\nipaddresspool.metallb.io/tenant created\nipaddresspool.metallb.io/designateext created\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml\nl2advertisement.metallb.io/ctlplane created\nl2advertisement.metallb.io/internalapi created\nl2advertisement.metallb.io/storage created\nl2advertisement.metallb.io/tenant created\nl2advertisement.metallb.io/designateext created\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' -z quay.io/openstack-k8s-operators/openstack-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=openstack-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE openstack-operator-index\nOPERATOR_SOURCE openstack-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nWarning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\nnamespace/openstack-operators configured\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\ncatalogsource.operators.coreos.com/openstack-operator-index created\noperatorgroup.operators.coreos.com/openstack created\nsubscription.operators.coreos.com/openstack-operator created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nbash -c \"test -d /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator || CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator\nCloning into 'openstack-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z openstack-kuttl-tests ']'\n+ '[' -z OpenStackControlPlane ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\n~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ OpenStackControlPlane == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ '' != '' ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' OpenStackControlPlane == OpenStackControlPlane ']'\n+ cat\n+ '[' OpenStackControlPlane == Galera ']'\n+ '[' OpenStackControlPlane == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ OpenStackControlPlane == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ true == \\t\\r\\u\\e ]]\n+ cat\n+ [[ OpenStackControlPlane == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -z true ']'\n+ cat\n+ '[' -n '' ']'\n+ '[' -z true ']'\n+ '[' -n true ']'\n+ '[' -n '' ']'\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n# Wait until OLM installs openstack CRDs\ntimeout 500s bash -c \"while ! (oc get crd openstacks.operator.openstack.org); do sleep 1; done\"\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nError from server (NotFound): customresourcedefinitions.apiextensions.k8s.io \"openstacks.operator.openstack.org\" not found\nNAME CREATED AT\nopenstacks.operator.openstack.org \ 2025-12-03T11:35:12Z\nmake openstack_init\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\n# call make_openstack if it isn't already\nbash -c '(oc get subscription -n openstack-operators openstack-operator || make openstack) || true'\nNAME PACKAGE \ SOURCE CHANNEL\nopenstack-operator openstack-operator \ openstack-operator-index alpha\ntimeout 500s bash -c 'until $(oc get csv -l operators.coreos.com/openstack-operator.openstack-operators -n openstack-operators | grep -q Succeeded); do sleep 1; done'\nbash -c 'test -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml || make openstack_repo'\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml\nopenstack.operator.openstack.org/openstack created\n# FIXME: Ugly hack to prevent OpenStack Baremetal operator from crashing when BMO is not installed\nif ! echo \"\" | grep -q \"baremetalhosts.metal3.io\"; then \\\n\tcurl -o /tmp/bmh_crd.yaml --retry-all-errors --retry 5 --retry-delay 10 https://raw.githubusercontent.com/metal3-io/baremetal-operator/refs/heads/main/config/base/crds/bases/metal3.io_baremetalhosts.yaml; \\\n\toc apply -f /tmp/bmh_crd.yaml; \\\n\trm -f /tmp/bmh_crd.yaml; \\\nfi\n \ % Total % Received % Xferd Average Speed Time Time Time Current\n \ Dload Upload Total Spent Left Speed\n\r \ 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r100 61932 100 61932 0 0 1008k 0 --:--:-- --:--:-- --:--:-- 1025k\ncustomresourcedefinition.apiextensions.k8s.io/baremetalhosts.metal3.io created\noc wait openstack/openstack -n openstack-operators --for condition=Ready --timeout=500s\nopenstack.operator.openstack.org/openstack condition met\ntimeout 500s bash -c \"while ! (oc get services -n openstack-operators | grep -E '^(openstack|openstack-baremetal|infra)-operator-webhook-service' | wc -l | grep -q -e 3); do sleep 5; done\"\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z openstack ']'\n+ '[' openstack = rabbitmq-cluster ']'\n+ DEPL_NAME=openstack-operator-controller-manager\n++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake openstack_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nset -e; \\\nfor test_dir in ctlplane-basic-deployment ctlplane-basic-deployment-with-nicMappings ctlplane-collapsed ctlplane-galera-3replicas ctlplane-galera-basic ctlplane-nodeselectors ctlplane-tls-cert-rotation ctlplane-tls-custom-issuers ctlplane-tls-custom-route dataplane-create-test dataplane-deploy-global-service-test dataplane-deploy-multiple-secrets dataplane-deploy-no-nodes-test dataplane-deploy-tls-test dataplane-extramounts dataplane-multinode-nodeset-create-test dataplane-service-config dataplane-service-custom-image dataplane-service-failure; do \\\n oc delete osctlplane --all --namespace openstack-kuttl-tests; \\\n\tmake crc_storage_cleanup_with_retries; \\\n\tmake crc_storage_with_retries; \\\n\tkubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests --test ${test_dir}; \\\ndone\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nNow using project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\nNo resources found\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\nNo resources found\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 5m13s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage created\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage created\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role created\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding created\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ oc apply -f -\n++ cat\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\nWarning: resource persistentvolumes/local-storage01-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage01-crc configured\nWarning: resource persistentvolumes/local-storage02-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage02-crc configured\nWarning: resource persistentvolumes/local-storage03-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage03-crc configured\nWarning: resource persistentvolumes/local-storage04-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage04-crc configured\nWarning: resource persistentvolumes/local-storage05-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage05-crc configured\nWarning: resource persistentvolumes/local-storage06-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage06-crc configured\nWarning: resource persistentvolumes/local-storage07-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage07-crc configured\nWarning: resource persistentvolumes/local-storage08-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage08-crc configured\nWarning: resource persistentvolumes/local-storage09-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage09-crc configured\nWarning: resource persistentvolumes/local-storage10-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage10-crc configured\nWarning: resource persistentvolumes/local-storage11-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage11-crc configured\nWarning: resource persistentvolumes/local-storage12-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\npersistentvolume/local-storage12-crc configured\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs created\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 11:37:09 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 11:37:09 | | netconfig.network.openstack.org/netconfig created\n logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 11:37:10 | | dnsmasq.network.openstack.org/dnsmasq created\n \ logger.go:42: 11:37:10 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 11:37:11 | | Generating public/private rsa key pair.\n logger.go:42: 11:37:11 | | Your identification has been saved in ansibleee-ssh-key-id_rsa\n logger.go:42: 11:37:11 | | Your public key has been saved in ansibleee-ssh-key-id_rsa.pub\n logger.go:42: 11:37:11 | | The key fingerprint is:\n logger.go:42: 11:37:11 | | SHA256:qxhPU/5ulNTTSrk46ghwjg7M6zlDD/MK3npnUfGx29A zuul@controller\n logger.go:42: 11:37:11 | | The key's randomart image is:\n logger.go:42: 11:37:11 | | +---[RSA 4096]----+\n logger.go:42: 11:37:11 | | | |\n logger.go:42: 11:37:11 | | | . . |\n logger.go:42: 11:37:11 | | | o +. o |\n logger.go:42: 11:37:11 | | | . +.E= . |\n logger.go:42: 11:37:11 | | | . . . S.++ + |\n logger.go:42: 11:37:11 | | |o+ = . o o=.o |\n logger.go:42: 11:37:11 | | |+o* + + oo . |\n logger.go:42: 11:37:11 | | |o=++ O +... |\n logger.go:42: 11:37:11 | | |.BB.+ +..oo |\n logger.go:42: 11:37:11 | | +----[SHA256]-----+\n logger.go:42: 11:37:11 | | secret/dataplane-ansible-ssh-private-key-secret created\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-basic-deployment\n=== PAUSE kuttl/harness/ctlplane-basic-deployment\n=== RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== CONT kuttl/harness/ctlplane-basic-deployment\n \ logger.go:42: 11:37:11 | ctlplane-basic-deployment | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | starting test step 1-deploy-openstack\n \ logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | starting test step 2-deploy-custom-cacert-secret\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-ca.yaml\n ]\n \ logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | secret/ca-custom-kuttl created\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | test step completed 2-deploy-custom-cacert-secret\n logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | starting test step 3-deploy-custom-cacert\n \ logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_ca | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | test step completed 3-deploy-custom-cacert\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | starting test step 4-\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | running command: [sh -c echo \"Checking ca-custom-kuttl.pem is present in combined-ca-bundle...\"\n CUSTOM_CERT_CONTENT=$(oc get secret ca-custom-kuttl -n $NAMESPACE -o jsonpath=\"{.data['ca-custom-kuttl\\.pem']}\" | base64 --decode | tr -d '\\n')\n TLS_BUNDLE_CONTENT=$(oc get secret combined-ca-bundle -n $NAMESPACE -o jsonpath=\"{.data['tls-ca-bundle\\.pem']}\" | base64 --decode | tr -d '\\n')\n if [[ \"$TLS_BUNDLE_CONTENT\" == *\"$CUSTOM_CERT_CONTENT\"* ]]; then\n echo \"OK\"\n exit 0\n else\n echo \"Not present\"\n exit 1\n fi\n ]\n logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | Checking ca-custom-kuttl.pem is present in combined-ca-bundle...\n logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | OK\n logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | test step completed 4-\n logger.go:42: 11:42:22 | ctlplane-basic-deployment/5-cleanup | starting test step 5-cleanup\n logger.go:42: 11:42:23 | ctlplane-basic-deployment/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n \ logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n \ logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n \ logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-swift-public-route\" deleted\n \ logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 11:43:05 | ctlplane-basic-deployment/5-cleanup | test step completed 5-cleanup\n logger.go:42: 11:43:05 | ctlplane-basic-deployment | skipping kubernetes event logging\n=== CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n \ logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings\n logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml\n \ ]\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre configured\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"replace\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n \ \"value\":{\"datacentre\":\"ospbr\"}\n }]'\n ]\n logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings\n logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings\n logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"remove\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n \ }]'\n ]\n logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:48 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:49 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:51 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:52 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:53 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:54 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:56 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:57 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:46:58 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:00 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:01 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:02 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:04 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:05 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:06 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:08 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:09 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:10 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:11 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:13 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:14 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:15 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:17 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:18 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:19 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n \ logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovncontroller-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup\n logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (644.02s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-basic-deployment (354.54s)\n \ --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (287.89s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 2\n+ NAME=persistence-rabbitmq-cell1-server-0\n+ oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found\npersistentvolumeclaim \"persistence-rabbitmq-cell1-server-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 11m\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n++ oc get pv -o json\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 11:48:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 11:48:55 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 11:48:56 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 11:48:56 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 11:48:56 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n=== CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings\n \ logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings\n logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml\n \ ]\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre unchanged\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack\n logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings\n logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"replace\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n \ \"value\":{\"datacentre\":\"ospbr\"}\n }]'\n ]\n logger.go:42: 11:54:35 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"remove\",\n \"path\": \"/spec/ovn/template/ovnController/nicMappings\",\n \ }]'\n ]\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:54:41 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:54:43 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)\n ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)\n if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then\n exit 0\n fi\n \ exit 1\n ]\n logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings\n logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n \ logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovncontroller-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup\n logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (387.57s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (385.99s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 6m37s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ oc apply -f -\n++ cat\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ tr '\\n' ' '\n++ head -c-1\n++ sed -e 's|node/||'\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 11:55:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 11:55:45 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 11:55:46 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 11:55:46 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 11:55:46 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-collapsed\n=== PAUSE kuttl/harness/ctlplane-collapsed\n=== CONT kuttl/harness/ctlplane-collapsed\n \ logger.go:42: 11:55:46 | ctlplane-collapsed | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | starting test step 0-deps\n logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | running command: [sh -c oc apply -f ../../common/rhobs.yaml\n until oc api-resources | grep -q rhobs; do sleep 1; done\n ]\n logger.go:42: 11:55:47 | ctlplane-collapsed/0-deps | subscription.operators.coreos.com/cluster-observability-operator created\n logger.go:42: 11:56:02 | ctlplane-collapsed/0-deps | test step completed 0-deps\n logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | starting test step 1-deploy-openstack-collapsed-cell\n logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml\n \ ]\n logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | openstackcontrolplane.core.openstack.org/openstack-collapsed-cell created\n logger.go:42: 12:01:10 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | test step completed 1-deploy-openstack-collapsed-cell\n logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | starting test step 2-cleanup\n logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | running command: [sh -c oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-barbican-public-route\" deleted\n \ logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-cinder-public-route\" deleted\n \ logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-keystone-public-route\" deleted\n \ logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-metric-storage-prometheus-svc\" deleted\n logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-neutron-public-svc\" deleted\n \ logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-public-route\" deleted\n \ logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n \ logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-placement-public-svc\" deleted\n \ logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-swift-public-svc\" deleted\n \ logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-watcher-internal-svc\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-watcher-public-route\" deleted\n logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret \"cert-watcher-public-svc\" deleted\n logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-libvirt\" deleted\n \ logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:01:44 | ctlplane-collapsed/2-cleanup | test step completed 2-cleanup\n logger.go:42: 12:01:44 | ctlplane-collapsed | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (359.28s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-collapsed (357.70s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0\n++ cut -d / -f 2\n+ NAME=prometheus-metric-storage-db-prometheus-metric-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/prometheus-metric-storage-db-prometheus-metric-storage-0 --ignore-not-found\npersistentvolumeclaim \"prometheus-metric-storage-db-prometheus-metric-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 6m7s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ oc apply -f -\n++ cat\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:02:07 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:02:07 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:02:11 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:02:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:02:12 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:02:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:02:12 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-galera-3replicas\n=== PAUSE kuttl/harness/ctlplane-galera-3replicas\n=== CONT kuttl/harness/ctlplane-galera-3replicas\n \ logger.go:42: 12:02:12 | ctlplane-galera-3replicas | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | starting test step 1-deploy-galera-3replicas\n logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml\n \ ]\n logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | openstackcontrolplane.core.openstack.org/openstack-galera-3replicas created\n \ logger.go:42: 12:08:24 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | test step completed 1-deploy-galera-3replicas\n logger.go:42: 12:08:24 | ctlplane-galera-3replicas/2-cleanup | starting test step 2-cleanup\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n mysql-db-openstack-galera-0 \\\n mysql-db-openstack-galera-1 \\\n mysql-db-openstack-galera-2 \\\n mysql-db-openstack-cell1-galera-0 \\\n mysql-db-openstack-cell1-galera-1 \\\n mysql-db-openstack-cell1-galera-2\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n \ logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-1\" deleted\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-2\" deleted\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-1\" deleted\n logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-2\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-ovndbs\" deleted\n \ logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-internal-svc\" deleted\n \ logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-swift-public-route\" deleted\n \ logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:08:59 | ctlplane-galera-3replicas/2-cleanup | test step completed 2-cleanup\n logger.go:42: 12:08:59 | ctlplane-galera-3replicas | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (412.15s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-galera-3replicas (406.80s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0\n++ cut -d / -f 2\n+ NAME=persistence-rabbitmq-cell1-server-0\n+ oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found\npersistentvolumeclaim \"persistence-rabbitmq-cell1-server-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 7m32s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ oc apply -f -\n++ cat\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:09:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:09:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:09:56 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:09:56 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:09:57 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:09:57 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:09:57 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-galera-basic\n=== PAUSE kuttl/harness/ctlplane-galera-basic\n=== CONT kuttl/harness/ctlplane-galera-basic\n \ logger.go:42: 12:09:57 | ctlplane-galera-basic | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | starting test step 1-deploy-galera\n \ logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera.yaml\n \ ]\n logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | openstackcontrolplane.core.openstack.org/openstack-galera created\n logger.go:42: 12:15:03 | ctlplane-galera-basic/1-deploy-galera | test step completed 1-deploy-galera\n logger.go:42: 12:15:03 | ctlplane-galera-basic/2-cleanup | starting test step 2-cleanup\n logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n mysql-db-openstack-galera-0 \\\n mysql-db-openstack-cell1-galera-0 \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n \ logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-barbican-public-svc\" deleted\n \ logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-cinder-public-svc\" deleted\n \ logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-memcached-svc\" deleted\n \ logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-neutron-public-svc\" deleted\n \ logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-public-route\" deleted\n \ logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:15:56 | ctlplane-galera-basic/2-cleanup | test step completed 2-cleanup\n logger.go:42: 12:15:56 | ctlplane-galera-basic | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (360.77s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-galera-basic (358.70s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 6m9s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ oc apply -f -\n++ cat\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:16:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:16:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:16:19 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:16:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:16:20 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:16:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:16:20 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-nodeselectors\n=== PAUSE kuttl/harness/ctlplane-nodeselectors\n=== CONT kuttl/harness/ctlplane-nodeselectors\n \ logger.go:42: 12:16:20 | ctlplane-nodeselectors | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | starting test step 1-deploy-openstack\n \ logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector=\"beta.kubernetes.io/os=linux\"\n \ ]\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | namespace/openstack-kuttl-tests annotated\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/nodeselectors/global | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | starting test step 2-\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | running command: [sh -c echo \"Checking all pods have expected nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | Checking all pods have expected nodeselector\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | running command: [sh -c echo \"Checking all cronjobs have expected nodeselector\"\n EXPECTED_NODE_SELECTOR=\"node-role.kubernetes.io/worker:\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | Checking all cronjobs have expected nodeselector\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | test step completed 2-\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | starting test step 3-update-nodeselector\n \ logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type='json' -p='[{\n \"op\": \"replace\",\n \"path\": \"/spec/nodeSelector\",\n \"value\": {\"kubernetes.io/os\":\"linux\"}\n \ }]'\n ]\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | openstackcontrolplane.core.openstack.org/openstack patched\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | test step completed 3-update-nodeselector\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | starting test step 4-\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | Found 25 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Found 24 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Found 21 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | Found 20 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Found 18 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | Found 16 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | Found 10 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:\n \ logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]\n \ logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all running pods have new nodeselector\"\n \ EXPECTED_NODE_SELECTOR=\"beta.kubernetes.io/os:linux kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n \ BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n \ echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo \"Checking all cronjobs have expected nodeselector\"\n EXPECTED_NODE_SELECTOR=\"kubernetes.io/os:linux\"\n \ BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template='{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{\"\\n\"}}{{ end }}' | grep -v 'ovn-controller-.*-config' | grep -v 'crc-storage-*' | sed -e '\\!map\\['\"$EXPECTED_NODE_SELECTOR\"'\\]$!d')\n BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n \"$BAD_OR_MISSING_NODE_SELECTOR\" | wc -l)\n if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then\n echo \"Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:\"\n echo \"$BAD_OR_MISSING_NODE_SELECTOR\"\n \ exit 1\n fi\n ]\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all cronjobs have expected nodeselector\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | test step completed 4-\n logger.go:42: 12:21:38 | ctlplane-nodeselectors/5-cleanup | starting test step 5-cleanup\n logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector-\n oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | namespace/openstack-kuttl-tests annotated\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"combined-ca-bundle\" deleted\n \ logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n \ logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-memcached-svc\" deleted\n \ logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n \ logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-public-route\" deleted\n \ logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n \ logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:22:14 | ctlplane-nodeselectors/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:22:14 | ctlplane-nodeselectors | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (356.10s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-nodeselectors (353.83s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 6m5s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ oc apply -f -\n++ cat\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:22:38 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:22:38 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:22:39 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:22:39 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:22:39 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:22:39 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:22:40 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-tls-cert-rotation\n=== PAUSE kuttl/harness/ctlplane-tls-cert-rotation\n=== CONT kuttl/harness/ctlplane-tls-cert-rotation\n \ logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | starting test step 0-deploy-openstack-tls-ingress-only\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c oc kustomize ../../../../config/samples/tls/tls_ingress | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Fail if internal https endpoints are registered\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'https:' && exit 1\n exit 0\n ]\n logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered\n logger.go:42: 12:26:35 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb internalDbAddress use tcp\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp\n ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb DB connection use tcp\"\n oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q ptcp\"\n ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check nova transport_url use tcp\"\n oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=0'\"\n ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check neutron ovn_sb_connection url tcp address\"\n \ oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp\"\n ]\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address\n logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Fail if internal https endpoints are registered\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'https:' && exit 1\n exit 0\n ]\n logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered\n logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb internalDbAddress use tcp\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp\n ]\n logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp\n logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb DB connection use tcp\"\n oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q ptcp\"\n ]\n logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check nova transport_url use tcp\"\n oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=0'\"\n ]\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check neutron ovn_sb_connection url tcp address\"\n \ oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp\"\n ]\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address\n logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"Fail if internal https endpoints are registered\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'https:' && exit 1\n exit 0\n ]\n logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb internalDbAddress use tcp\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp\n ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check ovn sb DB connection use tcp\"\n oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q ptcp\"\n ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check nova transport_url use tcp\"\n oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=0'\"\n ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo \"check neutron ovn_sb_connection url tcp address\"\n \ oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp\"\n ]\n logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address\n logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | test step completed 0-deploy-openstack-tls-ingress-only\n logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | starting test step 1-deploy-openstack\n logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | starting test step 2-get-endpoints-certs\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"Get fingerprints of all service certs\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_before\n ]\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Get fingerprints of all service certs\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ awk -F/ '{print $3}'\n \ logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Service Unavailable (HTTP 503)\n logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"Fail if internal http endpoints are registered\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -c \"openstack endpoint list --interface internal -f value -c URL\" | grep 'http:' && exit 1\n exit 0\n ]\n logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Fail if internal http endpoints are registered\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check ovn sb internalDbAddress use ssl\"\n oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q ssl\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb internalDbAddress use ssl\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check ovn sb DB connection use ssl\"\n oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c \"ovn-sbctl --no-leader-only get-connection | grep -q pssl\"\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb DB connection use ssl\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container \"ovsdbserver-sb\" out of: ovsdbserver-sb, openstack-network-exporter\n \ logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check nova transport_url use ssl\"\n oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c \"grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q 'ssl=1'\"\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check nova transport_url use ssl\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo \"check neutron ovn_sb_connection url ssl\"\n \ oc exec -i deployment/neutron -n $NAMESPACE -- bash -c \"grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf| grep -q ssl\"\n ]\n logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check neutron ovn_sb_connection url ssl\n logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container \"neutron-api\" out of: neutron-api, neutron-httpd\n \ logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | test step completed 2-get-endpoints-certs\n logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | starting test step 3-change-cert-duration\n \ logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_duration | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:29:46 | ctlplane-tls-cert-rotation/3-change-cert-duration | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/3-change-cert-duration | test step completed 3-change-cert-duration\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | starting test step 4-\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n \ logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n \ logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n \ logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ '{print $3}'\n logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command terminated with exit code 137\n logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods \"openstackclient\" not found\n logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n \ logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n \ logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n \ logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n \ logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n \ logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.\n \ logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.\n \ logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.\n \ logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n \ logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | error: unable to upgrade connection: container not found (\"openstackclient\")\n \ logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:20 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.\n logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n \ logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.\n \ logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.\n \ logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.\n \ logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:31:59 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | \ - rabbitmq on port 15671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691\n logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)\n logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...\n \ logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...\n \ logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...\n \ logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)\n logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Get fingerprints of all service certs\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after\n \ ]\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ '{print $3}'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1 ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'swift-public-openstack-kuttl-tests.apps-crc.testing:443 EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'nova-internal.openstack-kuttl-tests.svc:8774 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06 ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'placement-public-openstack-kuttl-tests.apps-crc.testing:443 E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8 ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'neutron-public-openstack-kuttl-tests.apps-crc.testing:443 B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79 ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'cinder-internal.openstack-kuttl-tests.svc:8776 FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67 ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'placement-internal.openstack-kuttl-tests.svc:8778 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'keystone-public-openstack-kuttl-tests.apps-crc.testing:443 A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48 ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'barbican-internal.openstack-kuttl-tests.svc:9311 D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1 ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo 'glance-default-internal.openstack-kuttl-tests.svc:9292 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1'\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01 ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'keystone-internal.openstack-kuttl-tests.svc:5000 B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'neutron-internal.openstack-kuttl-tests.svc:9696 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3 ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'nova-public-openstack-kuttl-tests.apps-crc.testing:443 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'cinder-public-openstack-kuttl-tests.apps-crc.testing:443 FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33 ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'barbican-public-openstack-kuttl-tests.apps-crc.testing:443 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ '{print $3}')\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E 's|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\\1:\\3|'\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed 's/.* Fingerprint=//'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC ]]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo 'swift-internal.openstack-kuttl-tests.svc:8080 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC'\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo \"Check if all services from before are present in after and have valid fingerprints\"\n \ bash -s < ../../common/osp_check_fingerprints.sh\n ]\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | Check if all services from before are present in after and have valid fingerprints\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + IFS=\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + read -r before\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + exit 0\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | test step completed 4-\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | starting test step 5-cleanup\n logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n \ logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n \ logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n \ logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (614.87s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-tls-cert-rotation (612.92s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 10m\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ oc apply -f -\n++ cat\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ oc apply -f -\n++ cat\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:33:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:33:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:33:19 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:33:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:33:20 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:33:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:33:21 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-tls-custom-issuers\n=== PAUSE kuttl/harness/ctlplane-tls-custom-issuers\n=== CONT kuttl/harness/ctlplane-tls-custom-issuers\n \ logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | starting test step 0-deploy-custom-issuers\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml\n \ oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml\n \ ]\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom created\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | test step completed 0-deploy-custom-issuers\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | starting test step 1-deploy-openstack\n \ logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | starting test step 2-\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking rotation of non API service certificates...\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)\n logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15691...\n \ logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)\n logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)\n \ logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)\n logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 5671...\n \ logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15671...\n \ logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15691...\n \ logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)\n logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)\n logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack on port 3306...\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal-custom\" \"internal\"\n ]\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Checking issuer of internal certificates...\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=internal\n \ logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=\n \ logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1\n \ logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + http_status=300\n \ logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + return 0\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=svc\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ grep svc\n logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo 'All certificates match the custom issuer rootca-internal-custom'\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + exit 0\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-internal-custom\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-ingress-custom\" \"public\"\n ]\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking issuer of ingress certificates...\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=public\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1\n \ logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + http_status=300\n \ logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + return 0\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=public\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ grep public\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + break\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-ingress-custom\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + echo 'All certificates match the custom issuer rootca-ingress-custom'\n \ logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + exit 0\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | test step completed 2-\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | starting test step 3-deploy-openstack\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | test step completed 3-deploy-openstack\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | starting test step 4-rotate-service-certs\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Deleting secrets...\"\n oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt\n oc delete secret -l service-cert -n $NAMESPACE\n ]\n logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Deleting secrets...\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking rotation of non API service certificates...\n logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)\n \ logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)\n logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)\n logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)\n logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)\n logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack on port 3306...\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal\" \"internal\"\n ]\n logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of internal certificates...\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=internal\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=svc\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep svc\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-internal\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + '[' 1 -eq 1 ']'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-internal'\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-public\" \"public\"\n ]\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of ingress certificates...\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-public\n \ logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=public\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=public\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-public\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + '[' 1 -eq 1 ']'\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-public'\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0\n \ logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | test step completed 4-rotate-service-certs\n logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/5-cleanup | starting test step 5-cleanup\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n \ oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n \ oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n \ logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | starting test step 6-deploy-openstack\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/6-deploy-openstack | test step completed 6-deploy-openstack\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | starting test step 7-\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n \ NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n \ ]\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking rotation of non API service certificates...\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15691...\n \ logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)\n logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)\n \ logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Error retrieving certificate from ceilometer-internal at 10.217.5.90:3000.\n \ logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)\n logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)\n logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Connecting to openstack on port 3306...\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal\" \"internal\"\n \ ]\n logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking issuer of internal certificates...\n logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-internal\n logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=internal\n logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=\n logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1\n logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + http_status=300\n \ logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + return 0\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=svc\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ grep svc\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + break\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo ''\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n '' ]]\n \ logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + sleep 20\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break\n \ logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l ]]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-internal\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo 'All certificates match the custom issuer rootca-internal'\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + exit 0\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-public\" \"public\"\n ]\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking issuer of ingress certificates...\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-public\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=public\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + http_status=300\n \ logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + return 0\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=public\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ grep public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local output\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + break\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \\r\\o\\o\\t\\c\\a\\-\\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + '[' 1 -eq 1 ']'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo 'All certificates match the custom issuer rootca-public'\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + exit 0\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-public\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | test step completed 7-\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | starting test step 8-deploy-custom-issuers\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml\n oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml\n ]\n \ logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom unchanged\n logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom unchanged\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom unchanged\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom unchanged\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | test step completed 8-deploy-custom-issuers\n logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | starting test step 9-deploy-openstack\n \ logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | test step completed 9-deploy-openstack\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | starting test step 10-rotate-service-certs\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Deleting secrets...\"\n oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt\n oc delete secret -l service-cert -n $NAMESPACE\n ]\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Deleting secrets...\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Waiting for OpenStack control plane to be ready...\"\n oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane\n ]\n logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Waiting for OpenStack control plane to be ready...\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Checking rotation of non API service certificates...\"\n NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh\n ]\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking rotation of non API service certificates...\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)\n logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 5671...\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15671...\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15691...\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.\n logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)\n \ logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.\n logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.\n logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...\n logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.\n logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)\n \ logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ceilometer-internal on port 3000...\n logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.\n logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)\n \ logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack-cell1 on port 3306...\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)\n logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack on port 3306...\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack on port 3306 match the secret.\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Checking issuer of internal certificates...\"\n oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-internal-custom\" \"internal\"\n ]\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of internal certificates...\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal-custom\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=internal\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=svc\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep svc\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local 'endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo 'https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking swift-internal.openstack-kuttl-tests.svc:8080 ...'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking nova-internal.openstack-kuttl-tests.svc:8774 ...'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking placement-internal.openstack-kuttl-tests.svc:8778 ...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+(:[0-9]+)?).*|\\1|'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...'\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...'\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom\n logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom\n \ logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom\n \ logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\t\\e\\r\\n\\a\\l\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-internal-custom\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + '[' 1 -eq 1 ']'\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-internal-custom'\n \ logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo \"Checking issuer of ingress certificates...\"\n \ oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh \"rootca-ingress-custom\" \"public\"\n ]\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of ingress certificates...\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=public\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...'\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w '%{http_code}' https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=public\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value\n logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep public\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local 'endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo 'https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep \"$endpoint_filter\")\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \\p\\u\\b\\l\\i\\c ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E 's|^[^:/]+://([^:/]+).*|\\1|'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n 's/^.*CN[[:space:]]*=[[:space:]]*\\([^,]*\\).*$/\\1/p'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \\r\\o\\o\\t\\c\\a\\-\\i\\n\\g\\r\\e\\s\\s\\-\\c\\u\\s\\t\\o\\m ]]\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + '[' 1 -eq 1 ']'\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo 'All certificates match the custom issuer rootca-ingress-custom'\n \ logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-ingress-custom\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | test step completed 10-rotate-service-certs\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | starting test step 11-cleanup\n logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io \"rootca-internal-custom\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io \"rootca-ingress-custom\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-nova-public-svc\" deleted\n \ logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-swift-public-route\" deleted\n logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers/11-cleanup | test step completed 11-cleanup\n logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (970.91s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-tls-custom-issuers (968.83s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ cut -d / -f 2\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ cut -d / -f 1\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 16m\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ oc apply -f -\n++ cat\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:49:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:49:57 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:49:58 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:49:58 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:49:59 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:49:59 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:49:59 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/ctlplane-tls-custom-route\n=== PAUSE kuttl/harness/ctlplane-tls-custom-route\n=== CONT kuttl/harness/ctlplane-tls-custom-route\n \ logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Ignoring README.md as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | starting test step 1-deploy-openstack\n \ logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!\n \ logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/1-deploy-openstack | test step completed 1-deploy-openstack\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | starting test step 2-deploy-custom-route-secret\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c source ../../common/create_custom_cert.sh\n INGRESS_DOMAIN=$(oc get ingresses.config.openshift.io cluster -o jsonpath='{.spec.domain}')\n \ create_barbican_placement_routes \"${INGRESS_DOMAIN}\" \"${NAMESPACE}\"\n \ ]\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route certificates for barbican and placement...\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Setting up custom certificate infrastructure in namespace openstack-kuttl-tests...\n \ logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating self-signed issuer in namespace openstack-kuttl-tests...\n logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: resource issuers/selfsigned-issuer is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer configured\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'issuer/selfsigned-issuer' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer condition met\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Self-signed issuer is ready\n logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-ingress-custom in namespace openstack-kuttl-tests...\n \ logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom unchanged\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/rootca-ingress-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom condition met\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-ingress-custom is ready\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom created\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'issuer/rootca-ingress-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom condition met\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-ingress-custom is ready\n logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-internal-custom in namespace openstack-kuttl-tests...\n logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom unchanged\n logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/rootca-internal-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom condition met\n logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-internal-custom is ready\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom created\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'issuer/rootca-internal-custom' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom condition met\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-internal-custom is ready\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom certificate infrastructure setup complete\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for barbican...\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate barbican-custom-route-cert for *.apps-crc.testing...\n \ logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert created\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/barbican-custom-route-cert' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert condition met\n logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate barbican-custom-route-cert is ready\n logger.go:42: 12:54:08 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret barbican-custom-route...\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/barbican-custom-route created\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret barbican-custom-route created successfully\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for placement...\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate placement-custom-route-cert for *.apps-crc.testing...\n \ logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert created\n logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for 'certificate/placement-custom-route-cert' in namespace 'openstack-kuttl-tests' to become 'condition=Ready'...\n logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert condition met\n \ logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate placement-custom-route-cert is ready\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret placement-custom-route...\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/placement-custom-route created\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret placement-custom-route created successfully\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificates created successfully\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - barbican-custom-route\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - placement-custom-route\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c # Generate ConfigMap for kustomize from the placement-custom-route secret\n bash ../../common/prepare_placement_certs.sh\n ]\n \ logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for placement-custom-route secret to be created...\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Secret placement-custom-route found in namespace openstack-kuttl-tests\n logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Fetching certificates from placement-custom-route secret and creating ConfigMap...\n \ logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating ConfigMap file at: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml\n \ logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | configmap/placement-cert-data created\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | ConfigMap placement-cert-data created at /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml and applied to namespace openstack-kuttl-tests\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | This file will be used by kustomize as a resource\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | test step completed 2-deploy-custom-route-secret\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | starting test step 3-deploy-openstack\n \ logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | running command: [sh -c # Apply OpenStackControlPlane with kustomize (ConfigMap was created in step 02)\n oc kustomize ../../../../config/samples/tls/custom_route_cert | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | configmap/placement-cert-data unchanged\n logger.go:42: 12:54:14 | ctlplane-tls-custom-route/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/3-deploy-openstack | test step completed 3-deploy-openstack\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | starting test step 4-\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo \"Checking barbican custom route certificate...\"\n \ bash ../../common/osp_check_route_cert.sh \"barbican\"\n ]\n \ logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking barbican custom route certificate...\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | TLS data matches for route barbican in namespace openstack-kuttl-tests.\n \ logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo \"Checking placement custom route certificate...\"\n bash ../../common/osp_check_route_cert.sh \"placement\"\n ]\n logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking placement custom route certificate...\n logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | TLS data matches for route placement in namespace openstack-kuttl-tests.\n \ logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | running command: [sh -c echo \"Verifying placement route override certificates in OpenStackControlPlane...\"\n \ bash ../../common/verify_route_override_certs.sh \"placement\"\n ]\n \ logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates in OpenStackControlPlane...\n logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates...\n logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | ✓ All certificates match for placement\n logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | test step completed 4-\n logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | starting test step 5-cleanup\n logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \\\n srv-swift-storage-0\n oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom\n oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE\n oc delete secret -l service-cert -n $NAMESPACE\n oc delete secret -l ca-cert -n $NAMESPACE\n ]\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io \"rootca-internal-custom\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io \"rootca-ingress-custom\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"combined-ca-bundle\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-barbican-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-barbican-public-route\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-barbican-public-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ceilometer-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-cinder-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-cinder-public-route\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-cinder-public-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-galera-openstack-cell1-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-galera-openstack-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-glance-default-internal-svc\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-glance-default-public-route\" deleted\n logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-glance-default-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-keystone-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-keystone-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-keystone-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-kube-state-metrics-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-memcached-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-ovndbs\" deleted\n \ logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-neutron-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-internal-svc\" deleted\n \ logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-novncproxy-cell1-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-novncproxy-cell1-vencrypt\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-nova-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovn-metrics\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovndbcluster-nb-ovndbs\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovndbcluster-sb-ovndbs\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-ovnnorthd-ovndbs\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-placement-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-placement-public-route\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-placement-public-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-rabbitmq-cell1-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-rabbitmq-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-swift-internal-svc\" deleted\n logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-swift-public-route\" deleted\n \ logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret \"cert-swift-public-svc\" deleted\n logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-internal\" deleted\n logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-libvirt\" deleted\n logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-ovn\" deleted\n logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret \"rootca-public\" deleted\n logger.go:42: 12:55:14 | ctlplane-tls-custom-route/5-cleanup | test step completed 5-cleanup\n logger.go:42: 12:55:14 | ctlplane-tls-custom-route | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (316.75s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/ctlplane-tls-custom-route (314.80s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-internal-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/swift-swift-storage-0\n++ cut -d / -f 2\n+ NAME=swift-swift-storage-0\n+ oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found\npersistentvolumeclaim \"swift-swift-storage-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0\n++ cut -d / -f 2\n+ NAME=mysql-db-openstack-cell1-galera-0\n+ oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found\npersistentvolumeclaim \"mysql-db-openstack-cell1-galera-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n++ cut -d / -f 2\n+ NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\n+ oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found\npersistentvolumeclaim \"ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0\" deleted\n+ for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'`\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 1\n+ NS=openstack-kuttl-tests\n++ echo openstack-kuttl-tests/glance-glance-default-external-api-0\n++ cut -d / -f 2\n+ NAME=glance-glance-default-external-api-0\n+ oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found\npersistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 5m29s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:55:40 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:55:40 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:55:41 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:55:41 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:55:41 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-create-test\n=== PAUSE kuttl/harness/dataplane-create-test\n=== CONT kuttl/harness/dataplane-create-test\n \ logger.go:42: 12:55:41 | dataplane-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | starting test step 0-dataplane-create\n \ logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-ipam created\n \ logger.go:42: 12:55:43 | dataplane-create-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 12:55:43 | dataplane-create-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (3.80s)\n --- PASS: kuttl/harness (0.00s)\n \ --- PASS: kuttl/harness/dataplane-create-test (2.14s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 12s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ tr '\\n' ' '\n++ head -c-1\n++ sed -e 's|node/||'\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 12:56:04 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 12:56:04 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 12:56:05 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 12:56:05 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 12:56:05 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 12:56:05 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 12:56:06 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-global-service-test\n=== PAUSE kuttl/harness/dataplane-deploy-global-service-test\n=== CONT kuttl/harness/dataplane-deploy-global-service-test\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********le created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ey created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********et updated\nWarning: unknown field \"spec.label\"\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-global-service created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-global created\n logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | starting test step 1-dataplane-deploy\n logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-global created\n \ logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/1-dataplane-deploy | test step completed 1-dataplane-deploy\n logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | starting test step 2-add-nodeset\n logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created\n logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created\n \ logger.go:42: 12:59:49 | dataplane-deploy-global-service-test/2-add-nodeset | test step completed 2-add-nodeset\n logger.go:42: 12:59:49 | dataplane-deploy-global-service-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (224.79s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-deploy-global-service-test (223.27s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 3m52s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:00:11 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:00:11 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:00:12 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:00:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:00:12 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-multiple-secrets\n=== PAUSE kuttl/harness/dataplane-deploy-multiple-secrets\n=== CONT kuttl/harness/dataplane-deploy-multiple-secrets\n \ logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Ignoring certs.yaml as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/generic-service1 created\n \ logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovr created\n \ logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created\n \ logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | starting test step 1-create-cert-issuers\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | running command: [sh -c function wait_for() {\n timeout=$1\n shift 1\n until [ $timeout -le 0 ] || (\"$@\" &> /dev/null); do\n echo waiting for \"$@\"\n sleep 1\n timeout=$(( timeout - 1 ))\n done\n if [ $timeout -le 0 ]; then\n return 1\n fi\n }\n \n if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi\n oc apply -f ./certs.yaml\n wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests\n CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r '.data.\"ca.crt\"')\n oc create secret generic combined-ca-bundle -n openstack-kuttl-tests --from-literal=TLSCABundleFile=$CA_CRT\n \ ]\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Error from server (NotFound): secrets \"combined-ca-bundle\" not found\n \ logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer created\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.\n \ logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca created\n logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal created\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | secret/combined-ca-bundle created\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | test step completed 1-create-cert-issuers\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | starting test step 2-dataplane-deploy\nWarning: unknown field \"spec.services\"\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets \"cert-generic-service1-default-edpm-compute-0\" not found\n logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: \n logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets \"cert-generic-service1-default-edpm-compute-0\" not found\n logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: \n logger.go:42: 13:00:37 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:39 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:40 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:41 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:42 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:43 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:45 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:46 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:47 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:48 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:49 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:51 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template='{{index .metadata.annotations \"cert-manager.io/alt-names\" }}'\n names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad match: $names\"\n \ exit 1\n else\n exit 0\n fi\n ]\n \ logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | test step completed 2-dataplane-deploy\n logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (41.27s)\n --- PASS: kuttl/harness (0.00s)\n \ --- PASS: kuttl/harness/dataplane-deploy-multiple-secrets (39.74s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 49s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ tr '\\n' ' '\n++ head -c-1\n++ sed -e 's|node/||'\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:01:12 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:01:12 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:01:13 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:01:13 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:01:14 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:01:14 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:01:14 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-no-nodes-test\n=== PAUSE kuttl/harness/dataplane-deploy-no-nodes-test\n=== CONT kuttl/harness/dataplane-deploy-no-nodes-test\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | starting test step 0-dataplane-create\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created\n \ logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ey created\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********et updated\n logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created\n \ logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | starting test step 1-dataplane-deploy\n logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | test step completed 1-dataplane-deploy\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | starting test step 2-dataplane-deploy-services-override\nWarning: unknown field \"spec.label\"\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-svc created\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-ovrd created\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | test step completed 2-dataplane-deploy-services-override\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | starting test step 3-update-ovn-cm\n logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | running command: [sh -c sleep 30]\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | ConfigMap:openstack-kuttl-tests/ovncontroller-config updated\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | test step completed 3-update-ovn-cm\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | starting test step 4-dataplane-deploy\n logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-updated-ovn-cm created\n logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | test step completed 4-dataplane-deploy\n logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | starting test step 5-dataplane-deploy-service-not-found\n logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-non-existent-service created\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | test step completed 5-dataplane-deploy-service-not-found\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | starting test step 6-add-nodeset\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created\n logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created\n \ logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/6-add-nodeset | test step completed 6-add-nodeset\n logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | starting test step 7-dataplane-deploy-node-selector\n logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-node-selection created\n logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | test step completed 7-dataplane-deploy-node-selector\n logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (229.88s)\n \ --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-deploy-no-nodes-test (228.12s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 3m57s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:05:24 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:05:24 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:05:25 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:05:25 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:05:26 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:05:26 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:05:26 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-deploy-tls-test\n=== PAUSE kuttl/harness/dataplane-deploy-tls-test\n=== CONT kuttl/harness/dataplane-deploy-tls-test\n \ logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Ignoring certs.yaml as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n \ logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | starting test step 0-dataplane-create\n \ logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dnsnames created\n logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd created\n logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | starting test step 1-create-cert-issuers\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | running command: [sh -c function wait_for() {\n timeout=$1\n shift 1\n until [ $timeout -le 0 ] || (\"$@\" &> /dev/null); do\n echo waiting for \"$@\"\n sleep 1\n timeout=$(( timeout - 1 ))\n done\n if [ $timeout -le 0 ]; then\n return 1\n fi\n }\n \n if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi\n oc apply -f ./certs.yaml\n wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests\n CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r '.data.\"ca.crt\"')\n oc create secret generic combined-ca-bundle -n openstack-kuttl-tests --from-literal=tls-ca-bundle.pem=$CA_CRT\n \ ]\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | NAME TYPE DATA AGE\n logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | combined-ca-bundle Opaque 1 5m2s\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | secret \"combined-ca-bundle\" deleted\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer unchanged\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca unchanged\n logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal unchanged\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | secret/combined-ca-bundle created\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | test step completed 1-create-cert-issuers\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | starting test step 2-dataplane-deploy\n \ logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created\n \ logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:41 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:42 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:45 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:46 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n \ echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))\"\n matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n \ else\n exit 0\n fi\n ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | test step completed 2-dataplane-deploy\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | starting test step 3-dataplane-deploy-services-override\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dns-ips created\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-tls-dns created\n \ logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd updated\n \ logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls-ovrd created\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | Error from server (NotFound): certificates.cert-manager.io \"custom-tls-dns-default-edpm-compute-0\" not found\n logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | bad dnsnames match: \n logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | command failure, skipping 1 additional commands\n logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.dnsNames }}'\n names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $names > test123.data\n regex=\"(?=.*(edpm-compute-0\\.internalapi\\.example\\.com))(?=.*(edpm-compute-0\\.storage\\.example\\.com))(?=.*(edpm-compute-0\\.tenant\\.example\\.com))(?=.*(edpm-compute-0\\.ctlplane\\.example\\.com))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad dnsnames match: $names\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template='{{index .spec.usages }}'\n usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template=\"$template\")\n echo $usages > test123.data\n regex=\"(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))\"\n \ matches=$(grep -P \"$regex\" test123.data)\n rm test123.data\n \ if [ -z \"$matches\" ]; then\n echo \"bad usages match: $usages\"\n exit 1\n else\n exit 0\n fi\n \ ]\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | test step completed 3-dataplane-deploy-services-override\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | starting test step 4-rotate-certs\n \ logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | running command: [oc delete -n openstack-kuttl-tests secrets cert-custom-tls-dns-default-edpm-compute-0 cert-tls-dns-ips-default-edpm-compute-0]\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret \"cert-custom-tls-dns-default-edpm-compute-0\" deleted\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret \"cert-tls-dns-ips-default-edpm-compute-0\" deleted\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | test step completed 4-rotate-certs\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | starting test step 5-dataplane-redeploy\n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/certs-refresh created\n \ logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n \ echo $PNAME\n if [ -z \"$PNAME\" ]; then\n echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \ \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n \ echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n \ logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n \ echo $PNAME\n if [ -z \"$PNAME\" ]; then\n echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \ \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n \ echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n \ logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n \ echo $PNAME\n if [ -z \"$PNAME\" ]; then\n echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \ \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n \ echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n \ logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n \ echo $PNAME\n if [ -z \"$PNAME\" ]; then\n echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \ \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n \ echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n \ logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:24 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n \ echo $PNAME\n if [ -z \"$PNAME\" ]; then\n echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \ \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n \ echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n \ logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod\n logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`\n \ echo $PNAME\n if [ -z \"$PNAME\" ]; then\n echo \"Waiting for successful ansibleee pod\"\n exit 1\n fi\n \ \n serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-custom-tls-dns-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r '.data.\"tls.crt\"'|base64 -d |openssl x509 -noout -serial`\n \ echo \"serial1:\" $serial1\n serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`\n echo \"serial2:\" $serial2\n if [ $serial1 != $serial2 ]; then\n echo \"serials for cert-tls-dns-ips-default-edpm-compute-0 not equal\"\n exit 1\n fi\n \n exit 0\n ]\n \ logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5\n logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=4B1E244450A4005B45606430C180271D\n \ logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod's hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]\n logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-bm6z8 ...\n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...\n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=4B1E244450A4005B45606430C180271D\n logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=B9466059D5B3A04CA0D53314A1F54F18\n \ logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod's hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]\n logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-pcs86 ...\n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | \n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...\n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=B9466059D5B3A04CA0D53314A1F54F18\n logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | test step completed 5-dataplane-redeploy\n \ logger.go:42: 13:06:31 | dataplane-deploy-tls-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (67.02s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-deploy-tls-test (65.42s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 74s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ oc apply -f -\n++ cat\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:06:52 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:06:52 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:06:53 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:06:53 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:06:54 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:06:54 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:06:54 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-extramounts\n=== PAUSE kuttl/harness/dataplane-extramounts\n=== CONT kuttl/harness/dataplane-extramounts\n \ logger.go:42: 13:06:54 | dataplane-extramounts | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | starting test step 0-dataplane-create\nWarning: unknown field \"spec.label\"\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/test-service created\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-extramounts created\n logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-extramounts created\n \ logger.go:42: 13:07:09 | dataplane-extramounts/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:07:09 | dataplane-extramounts | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (16.82s)\n --- PASS: kuttl/harness (0.00s)\n \ --- PASS: kuttl/harness/dataplane-extramounts (15.21s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 24s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ oc apply -f -\n++ cat\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:07:30 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:07:30 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:07:31 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:07:31 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:07:31 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:07:31 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:07:32 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-multinode-nodeset-create-test\n=== PAUSE kuttl/harness/dataplane-multinode-nodeset-create-test\n=== CONT kuttl/harness/dataplane-multinode-nodeset-create-test\n \ logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | starting test step 0-dataplane-create\n logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created\n logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode created\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | starting test step 1-dataplane-scale-in\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | running command: [sh -c oc patch openstackdataplanenodeset/openstack-edpm-multinode -n openstack-kuttl-tests --type json --patch '[{ \"op\": \"remove\", \"path\": \"/spec/nodes/edpm-compute-1\" }]'\n ]\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | openstackdataplanenodeset.dataplane.openstack.org/openstack-edpm-multinode patched\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | test step completed 1-dataplane-scale-in\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | starting test step 2-dataplane-scale-out\n logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode updated\n logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | test step completed 2-dataplane-scale-out\n logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (44.91s)\n \ --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-multinode-nodeset-create-test (43.19s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ grep Bound\n++ awk '{print $6}'\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $1}'\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 53s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:08:37 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:08:37 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:08:38 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:08:38 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:08:38 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-service-config\n=== PAUSE kuttl/harness/dataplane-service-config\n=== CONT kuttl/harness/dataplane-service-config\n \ logger.go:42: 13:08:38 | dataplane-service-config | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | starting test step 0-create\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-0 created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-1 created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-2 created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/kuttl-service created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n \ logger.go:42: 13:09:00 | dataplane-service-config/0-create | test step completed 0-create\n logger.go:42: 13:09:00 | dataplane-service-config | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (22.90s)\n --- PASS: kuttl/harness (0.00s)\n \ --- PASS: kuttl/harness/dataplane-service-config (21.27s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ awk '{print $1}'\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 30s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ oc apply -f -\n++ cat\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:09:20 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:09:20 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:09:21 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:09:21 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:09:21 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:09:21 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:09:22 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-service-custom-image\n=== PAUSE kuttl/harness/dataplane-service-custom-image\n=== CONT kuttl/harness/dataplane-service-custom-image\n \ logger.go:42: 13:09:22 | dataplane-service-custom-image | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | starting test step 0-dataplane-create\n \ logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-img-svc created\n \ logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-no-nodes-custom-svc created\n logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:09:37 | dataplane-service-custom-image/0-dataplane-create | test step completed 0-dataplane-create\n logger.go:42: 13:09:37 | dataplane-service-custom-image | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (17.04s)\n --- PASS: kuttl/harness (0.00s)\n \ --- PASS: kuttl/harness/dataplane-service-custom-image (15.25s)\nPASS\nNo resources found\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage_cleanup.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/cleanup-crc-pv.sh\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n++ awk '{print $6}'\n++ grep Bound\n++ awk '{print $1}'\n++ oc get pv --selector provisioned-by=crc-devsetup --no-headers\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage01-crc\npersistentvolume \"local-storage01-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage02-crc\npersistentvolume \"local-storage02-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage03-crc\npersistentvolume \"local-storage03-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage04-crc\npersistentvolume \"local-storage04-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage05-crc\npersistentvolume \"local-storage05-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage06-crc\npersistentvolume \"local-storage06-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage07-crc\npersistentvolume \"local-storage07-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage08-crc\npersistentvolume \"local-storage08-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage09-crc\npersistentvolume \"local-storage09-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage10-crc\npersistentvolume \"local-storage10-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage11-crc\npersistentvolume \"local-storage11-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage12-crc\npersistentvolume \"local-storage12-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage13-crc\npersistentvolume \"local-storage13-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage14-crc\npersistentvolume \"local-storage14-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage15-crc\npersistentvolume \"local-storage15-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage16-crc\npersistentvolume \"local-storage16-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage17-crc\npersistentvolume \"local-storage17-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage18-crc\npersistentvolume \"local-storage18-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage19-crc\npersistentvolume \"local-storage19-crc\" deleted\n+ for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'`\n+ oc delete pv/local-storage20-crc\npersistentvolume \"local-storage20-crc\" deleted\nif oc get sc \"local-storage\"; then oc delete sc \"local-storage\"; fi\nNAME PROVISIONER RECLAIMPOLICY \ VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE\nlocal-storage kubernetes.io/no-provisioner \ Delete WaitForFirstConsumer true 24s\nstorageclass.storage.k8s.io \"local-storage\" deleted\nbash scripts/delete-pv.sh\n+++ dirname scripts/delete-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete\n++ set -ex\n++ NODE=crc\n++ OPERATION=delete\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/retry_make_crc_storage.sh 3\nmake[3]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z crc-storage ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml\nnamespace/crc-storage unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\ncrc-storage \ Active\noc project crc-storage\nAlready on project \"crc-storage\" on server \"https://api.crc.testing:6443\".\nbash scripts/create-pv.sh\n+++ dirname scripts/create-pv.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh\n++ set -ex\n++ OPERATION=create\n++ cat\n++ oc apply -f -\nconfigmap/crc-storage unchanged\n++ cat\n++ oc apply -f -\nserviceaccount/crc-storage unchanged\n++ cat\n++ oc apply -f -\nrole.rbac.authorization.k8s.io/crc-storage-role unchanged\n++ cat\n++ oc apply -f -\nrolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged\n+ PV_NUM=20\n+ TIMEOUT=500s\n++ oc get pv -o json\n++ jq -r '.items[] | select(.status.phase | test(\"Released\")).metadata.name'\n+ released=\n++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{\"\\n\"}}{{end}}' -l node-role.kubernetes.io/worker\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ for node in $NODE_NAMES\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create\n++ set -ex\n++ NODE=crc\n++ OPERATION=create\n++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found\njob.batch \"crc-storage-crc\" deleted\n++ cat\n++ oc apply -f -\nWarning: would violate PodSecurity \"restricted:latest\": privileged (container \"storage\" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container \"storage\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container \"storage\" must set securityContext.capabilities.drop=[\"ALL\"]), restricted volume types (volume \"node-mnt\" uses restricted volume type \"hostPath\"), runAsNonRoot != true (pod or container \"storage\" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container \"storage\" must not set runAsUser=0)\njob.batch/crc-storage-crc created\n+ oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s\njob.batch/crc-storage-crc condition met\nbash scripts/gen-crc-pv-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z '\"local-storage\"' ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']'\n+ PV_NUM=20\n+ STORAGE_CAPACITY=10\n++ oc get node -o name -l node-role.kubernetes.io/worker\n++ head -c-1\n++ sed -e 's|node/||'\n++ tr '\\n' ' '\n+ NODE_NAMES=crc\n+ '[' -z crc ']'\n+ cat\n+ for node in $NODE_NAMES\n++ seq -w 20\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ for i in `seq -w $PV_NUM`\n+ cat\n++ sed -e 's/^\"//' -e 's/\"$//'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml\nstorageclass.storage.k8s.io/local-storage created\npersistentvolume/local-storage01-crc created\npersistentvolume/local-storage02-crc created\npersistentvolume/local-storage03-crc created\npersistentvolume/local-storage04-crc created\npersistentvolume/local-storage05-crc created\npersistentvolume/local-storage06-crc created\npersistentvolume/local-storage07-crc created\npersistentvolume/local-storage08-crc created\npersistentvolume/local-storage09-crc created\npersistentvolume/local-storage10-crc created\npersistentvolume/local-storage11-crc created\npersistentvolume/local-storage12-crc created\npersistentvolume/local-storage13-crc created\npersistentvolume/local-storage14-crc created\npersistentvolume/local-storage15-crc created\npersistentvolume/local-storage16-crc created\npersistentvolume/local-storage17-crc created\npersistentvolume/local-storage18-crc created\npersistentvolume/local-storage19-crc created\npersistentvolume/local-storage20-crc created\npersistentvolumeclaim/ansible-ee-logs unchanged\nmake[3]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake[2]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n2025/12/03 13:09:59 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n logger.go:42: 13:09:59 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]\n \ logger.go:42: 13:10:00 | | netconfig.network.openstack.org/netconfig configured\n logger.go:42: 13:10:00 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]\n \ logger.go:42: 13:10:01 | | dnsmasq.network.openstack.org/dnsmasq configured\n \ logger.go:42: 13:10:01 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then\n ssh-keygen -f ansibleee-ssh-key-id_rsa -N \"\" -t rsa -b 4096\n fi\n oc create secret generic dataplane-ansible-ssh-private-key-secret \\\n --save-config \\\n --dry-run=client \\\n --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \\\n --from-file=ssh-privatekey=an**********sa \\\n --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \\\n -n openstack-kuttl-tests \\\n -o yaml | \\\n oc apply -f -\n ]\n logger.go:42: 13:10:01 | | secret/dataplane-ansible-ssh-private-key-secret configured\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 1380 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/dataplane-service-failure\n=== PAUSE kuttl/harness/dataplane-service-failure\n=== CONT kuttl/harness/dataplane-service-failure\n \ logger.go:42: 13:10:01 | dataplane-service-failure | Skipping creation of user-supplied namespace: openstack-kuttl-tests\n logger.go:42: 13:10:01 | dataplane-service-failure/0-create | starting test step 0-create\n logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/failed-service created\n logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created\n \ logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created\n logger.go:42: 13:11:43 | dataplane-service-failure/0-create | test step completed 0-create\n logger.go:42: 13:11:43 | dataplane-service-failure | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- PASS: kuttl (103.90s)\n --- PASS: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/dataplane-service-failure (102.23s)\nPASS\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake openstack_deploy_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml\nnamespace/openstack-kuttl-tests unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-kuttl-tests Active\noc project openstack-kuttl-tests\nNow using project \"openstack-kuttl-tests\" on server \"https://api.crc.testing:6443\".\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake openstack_cleanup\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nnamespace/openstack-operators unchanged\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME \ STATUS\nopenstack-operators Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op\n# TODO: Once https://issues.redhat.com/browse/OSPRH-13217 is properly resolved, the\n# explicit calls to \"oc delete\" the webhooks can be removed below\nif oc get openstack &>/dev/null; then oc delete --ignore-not-found=true openstack/openstack \\\n&& oc delete mutatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator \\\n&& oc delete validatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator; fi\nopenstack.operator.openstack.org \"openstack\" deleted\nNo resources found\nNo resources found\noc delete subscription --all=true\nsubscription.operators.coreos.com \"openstack-operator\" deleted\noc delete csv --all=true\nclusterserviceversion.operators.coreos.com \"cluster-observability-operator.v1.3.0\" deleted\nclusterserviceversion.operators.coreos.com \"metallb-operator.v4.18.0-202511181540\" deleted\nclusterserviceversion.operators.coreos.com \"openstack-operator.v0.5.0\" deleted\noc delete catalogsource --all=true\ncatalogsource.operators.coreos.com \"openstack-operator-index\" deleted\ntest -d /home/zuul/ci-framework-data/artifacts/manifests/operator/baremetal-operator && make crc_bmo_cleanup || true\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\n~/ci-framework-data/artifacts\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml - namespace/openstack-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-kuttl-tests Active - oc project openstack-kuttl-tests - Now using project "openstack-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z openstack-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12**********78 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12**********78 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - 'error: the server doesn''t have a resource type "RabbitmqCluster"' - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/rabbitmq/cr - bash scripts/validate-marketplace.sh - + '[' -z 500s ']' - + OPERATOR_NAMESPACE=openshift-marketplace - ++ oc get pods --no-headers -n openshift-marketplace - ++ grep -viE 'running|completed' - + not_running_pods= - + '[' -z '' ']' - + echo 'All openshift-marketplace pods seems to me fine' - All openshift-marketplace pods seems to me fine - + OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator' - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep openshift-cert-manager-operator - openshift-cert-manager-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + grep kubernetes-nmstate-operator - + oc get packagemanifests -n openshift-marketplace - kubernetes-nmstate-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep metallb-operator - metallb-operator Red Hat Operators 283d - + '[' 0 -eq 0 ']' - + break - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openshift-nmstate ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/namespace.yaml - namespace/openshift-nmstate created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openshift-nmstate); do sleep 1; done" - NAME DISPLAY NAME STATUS - openshift-nmstate Active - bash scripts/gen-olm-nmstate.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/nmstate/op - operatorgroup.operators.coreos.com/openshift-nmstate-tn6k8 created - subscription.operators.coreos.com/kubernetes-nmstate-operator created - timeout 500s bash -c "while ! (oc get deployments/nmstate-operator -n openshift-nmstate); do sleep 10; done" - 'Error from server (NotFound): deployments.apps "nmstate-operator" not found' - 'Error from server (NotFound): deployments.apps "nmstate-operator" not found' - NAME READY UP-TO-DATE AVAILABLE AGE - nmstate-operator 1/1 1 1 9s - oc wait deployments/nmstate-operator -n openshift-nmstate --for condition=Available --timeout=500s - deployment.apps/nmstate-operator condition met - timeout 500s bash -c "while ! (oc wait pod -n openshift-apiserver -l apiserver=true --for condition=Ready); do sleep 10; done" - pod/apiserver-76f77b778f-dmvst condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openshift-nmstate/nmstate/cr - nmstate.nmstate.io/nmstate created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=kubernetes-nmstate-handler -n openshift-nmstate| grep nmstate-handler); do sleep 10; done" - No resources found in openshift-nmstate namespace. - nmstate-handler-qggff 0/1 Running 0 10s - oc wait pod -n openshift-nmstate -l component=kubernetes-nmstate-handler --for condition=Ready --timeout=500s - pod/nmstate-handler-qggff condition met - timeout 500s bash -c "while ! (oc get deployments/nmstate-webhook -n openshift-nmstate); do sleep 10; done" - NAME READY UP-TO-DATE AVAILABLE AGE - nmstate-webhook 0/1 1 0 11s - oc wait deployments/nmstate-webhook -n openshift-nmstate --for condition=Available --timeout=500s - deployment.apps/nmstate-webhook condition met - WORKERS='crc' \ - bash scripts/gen-nncp.sh - + check_var_set DEPLOY_DIR - + [[ ! -v DEPLOY_DIR ]] - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr - + check_var_set WORKERS - + [[ ! -v WORKERS ]] - + check_var_set INTERFACE - + [[ ! -v INTERFACE ]] - + check_var_set BRIDGE_NAME - + [[ ! -v BRIDGE_NAME ]] - + check_var_set INTERFACE_MTU - + [[ ! -v INTERFACE_MTU ]] - + check_var_set VLAN_START - + [[ ! -v VLAN_START ]] - + check_var_set VLAN_STEP - + [[ ! -v VLAN_STEP ]] - + check_var_set VLAN_STEP - + [[ ! -v VLAN_STEP ]] - + check_var_set INTERNALAPI_PREFIX - + [[ ! -v INTERNALAPI_PREFIX ]] - + check_var_set STORAGE_PREFIX - + [[ ! -v STORAGE_PREFIX ]] - + check_var_set STORAGEMGMT_PREFIX - + [[ ! -v STORAGEMGMT_PREFIX ]] - + check_var_set TENANT_PREFIX - + [[ ! -v TENANT_PREFIX ]] - + check_var_set DESIGNATE_PREFIX - + [[ ! -v DESIGNATE_PREFIX ]] - + check_var_set DESIGNATE_EXT_PREFIX - + [[ ! -v DESIGNATE_EXT_PREFIX ]] - + '[' -n '' ']' - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr - + echo WORKERS crc - WORKERS crc - + echo INTERFACE ens7 - INTERFACE ens7 - + echo BRIDGE_NAME ospbr - BRIDGE_NAME ospbr - + echo INTERFACE_BGP_1 - INTERFACE_BGP_1 - + echo INTERFACE_BGP_2 - INTERFACE_BGP_2 - + echo INTERFACE_MTU 1500 - INTERFACE_MTU 1500 - + echo VLAN_START 20 - VLAN_START 20 - + echo VLAN_STEP 1 - VLAN_STEP 1 - + echo STORAGE_MACVLAN - STORAGE_MACVLAN - + '[' -n true ']' - + echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - + echo CTLPLANE_IP_ADDRESS_SUFFIX 10 - CTLPLANE_IP_ADDRESS_SUFFIX 10 - + '[' -n '' ']' - + '[' -n '' ']' - + IP_ADDRESS_SUFFIX=5 - + IPV6_ADDRESS_SUFFIX=5 - + rm --force '/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/*_nncp.yaml' - + internalapi_vlan_id=20 - + storage_vlan_id=21 - + tenant_vlan_id=22 - + storagemgmt_vlan_id=23 - + octavia_vlan_id=24 - + designate_vlan_id=25 - + designate_ext_vlan_id=26 - + for WORKER in ${WORKERS} - + cat - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n '' ']' - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n '' ']' - + cat - + IP_ADDRESS_SUFFIX=6 - + IPV6_ADDRESS_SUFFIX=6 - + CTLPLANE_IP_ADDRESS_SUFFIX=11 - + CTLPLANE_IPV6_ADDRESS_SUFFIX=1 - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/nncp/cr/ - nodenetworkconfigurationpolicy.nmstate.io/ens7-crc created - timeout 240s bash -c "while ! (oc wait nncp -l osp/interface=ens7 --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured); do sleep 10; done" - nodenetworkconfigurationpolicy.nmstate.io/ens7-crc condition met - if test -n "192.168.122.10"; then oc patch dns.operator/default --type merge -p '{"spec":{"upstreamResolvers":{"policy":"Sequential","upstreams":[{"type":"Network","address":"'192.168.122.10'","port":53},{"type":"SystemResolvConf"}]}}}'; fi - dns.operator.openshift.io/default patched - timeout 240s bash -c "while ! (oc wait dns.operator/default --for condition=available); do sleep 10; done" - dns.operator.openshift.io/default condition met - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator created - subscription.operators.coreos.com/metallb-operator-sub created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - No resources found in metallb-system namespace. - No resources found in metallb-system namespace. - metallb-operator-controller-manager-b9dd667db-j4qd7 0/1 ContainerCreating 0 1s - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-b9dd667db-j4qd7 condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-5b4bcb5c5f-ttnfj 1/1 Running 0 40s - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-5b4bcb5c5f-ttnfj condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - No resources found in metallb-system namespace. - speaker-56dnr 1/2 Running 0 10s - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-56dnr condition met - make operator_namespace - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z cert-manager-operator ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/namespace.yaml - namespace/cert-manager-operator created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io cert-manager-operator); do sleep 1; done" - NAME DISPLAY NAME STATUS - cert-manager-operator Active - oc project cert-manager-operator - Now using project "cert-manager-operator" on server "https://api.crc.testing:6443". - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-olm-cert-manager.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']' - + '[' -z cert-manager-operator ']' - + '[' -z stable-v1 ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - + echo OPERATOR_NAMESPACE cert-manager-operator - OPERATOR_NAMESPACE cert-manager-operator - + echo CHANNEL stable-v1 - CHANNEL stable-v1 - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/cert-manager-operator/cert-manager/op - operatorgroup.operators.coreos.com/cert-manager-operator-bccwx created - subscription.operators.coreos.com/openshift-cert-manager-operator created - while ! (oc get pod --no-headers=true -l name=cert-manager-operator -n cert-manager-operator| grep "cert-manager-operator"); do sleep 10; done - No resources found in cert-manager-operator namespace. - No resources found in cert-manager-operator namespace. - cert-manager-operator-controller-manager-64cf6dff88-bzrrx 0/1 ContainerCreating 0 7s - oc wait pod -n cert-manager-operator --for condition=Ready -l name=cert-manager-operator --timeout=300s - pod/cert-manager-operator-controller-manager-64cf6dff88-bzrrx condition met - while ! (oc get pod --no-headers=true -l app=cainjector -n cert-manager | grep "cert-manager-cainjector"); do sleep 10; done - No resources found in cert-manager namespace. - cert-manager-cainjector-855d9ccff4-5pthb 0/1 ContainerCreating 0 6s - oc wait pod -n cert-manager -l app=cainjector --for condition=Ready --timeout=300s - pod/cert-manager-cainjector-855d9ccff4-5pthb condition met - while ! (oc get pod --no-headers=true -l app=webhook -n cert-manager | grep "cert-manager-webhook"); do sleep 10; done - cert-manager-webhook-f4fb5df64-z8l9s 0/1 Running 0 10s - oc wait pod -n cert-manager -l app=webhook --for condition=Ready --timeout=300s - pod/cert-manager-webhook-f4fb5df64-z8l9s condition met - while ! (oc get pod --no-headers=true -l app=cert-manager -n cert-manager | grep "cert-manager"); do sleep 10; done - cert-manager-86cb77c54b-jdfq2 1/1 Running 0 3s - oc wait pod -n cert-manager -l app=cert-manager --for condition=Ready --timeout=300s - pod/cert-manager-86cb77c54b-jdfq2 condition met - bash scripts/gen-netatt.sh - + check_var_set DEPLOY_DIR - + [[ ! -v DEPLOY_DIR ]] - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr - + check_var_set INTERFACE - + [[ ! -v INTERFACE ]] - + check_var_set BRIDGE_NAME - + [[ ! -v BRIDGE_NAME ]] - + check_var_set VLAN_START - + [[ ! -v VLAN_START ]] - + check_var_set VLAN_STEP - + [[ ! -v VLAN_STEP ]] - + '[' -z true ']' - + '[' -n true ']' - + '[' -n '' ']' - + '[' -n true ']' - + check_var_set INTERNALAPI_PREFIX - + [[ ! -v INTERNALAPI_PREFIX ]] - + check_var_set STORAGE_PREFIX - + [[ ! -v STORAGE_PREFIX ]] - + check_var_set STORAGEMGMT_PREFIX - + [[ ! -v STORAGEMGMT_PREFIX ]] - + check_var_set TENANT_PREFIX - + [[ ! -v TENANT_PREFIX ]] - + check_var_set DESIGNATE_PREFIX - + [[ ! -v DESIGNATE_PREFIX ]] - + check_var_set DESIGNATE_EXT_PREFIX - + [[ ! -v DESIGNATE_EXT_PREFIX ]] - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr - + echo INTERFACE ens7 - INTERFACE ens7 - + echo VLAN_START 20 - VLAN_START 20 - + echo VLAN_STEP 1 - VLAN_STEP 1 - + '[' -n true ']' - + echo CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - CTLPLANE_IP_ADDRESS_PREFIX 192.168.122 - + echo CTLPLANE_IP_ADDRESS_SUFFIX 10 - CTLPLANE_IP_ADDRESS_SUFFIX 10 - + echo 'INTERNALAPI_PREFIX 172.17.0' - INTERNALAPI_PREFIX 172.17.0 - + echo 'STORAGE_PREFIX 172.18.0' - STORAGE_PREFIX 172.18.0 - + echo 'STORAGEMGMT_PREFIX 172.20.0' - STORAGEMGMT_PREFIX 172.20.0 - + echo 'TENANT_PREFIX 172.19.0' - TENANT_PREFIX 172.19.0 - + echo 'DESIGNATE_PREFIX 172.28.0' - DESIGNATE_PREFIX 172.28.0 - + echo 'DESIGNATE_PREFIX 172.50.0' - DESIGNATE_PREFIX 172.50.0 - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + '[' -n true ']' - + cat - + cat - + cat - + cat - + '[' -n '' ']' - + '[' -n '' ']' - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/netattach/cr/ - networkattachmentdefinition.k8s.cni.cncf.io/ctlplane created - networkattachmentdefinition.k8s.cni.cncf.io/datacentre created - networkattachmentdefinition.k8s.cni.cncf.io/designate created - networkattachmentdefinition.k8s.cni.cncf.io/designateext created - networkattachmentdefinition.k8s.cni.cncf.io/internalapi created - networkattachmentdefinition.k8s.cni.cncf.io/octavia created - networkattachmentdefinition.k8s.cni.cncf.io/storage created - networkattachmentdefinition.k8s.cni.cncf.io/storagemgmt created - networkattachmentdefinition.k8s.cni.cncf.io/tenant created - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml" does not exist' - 'make: [Makefile:2551: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml" does not exist' - 'make: [Makefile:2552: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml" does not exist' - 'make: [Makefile:2553: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml" does not exist' - 'make: [Makefile:2554: metallb_config_cleanup] Error 1 (ignored)' - oc delete --ignore-not-found=true -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml - 'error: the path "/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml" does not exist' - 'make: [Makefile:2555: metallb_config_cleanup] Error 1 (ignored)' - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgppeers.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpadvertisement.yaml /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/bgpextras.yaml - bash scripts/gen-metallb-config.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' -z ens7 ']' - + '[' -z ospbr ']' - + '[' -z 64999 ']' - + '[' -z 64999 ']' - + '[' -z 100.65.4.1 ']' - + '[' -z 100.64.4.1 ']' - + '[' -z 172.30.4.2 ']' - + '[' -z true ']' - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE ens7 - INTERFACE ens7 - + echo CTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90 - CTLPLANE_METALLB_POOL 192.168.122.80-192.168.122.90 - + echo CTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90 - CTLPLANE_METALLB_IPV6_POOL fd00:aaaa::80-fd00:aaaa::90 - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + '[' -n true ']' - + cat - + '[' -n '' ']' - + cat - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ipaddresspools.yaml - ipaddresspool.metallb.io/ctlplane created - ipaddresspool.metallb.io/internalapi created - ipaddresspool.metallb.io/storage created - ipaddresspool.metallb.io/tenant created - ipaddresspool.metallb.io/designateext created - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/l2advertisement.yaml - l2advertisement.metallb.io/ctlplane created - l2advertisement.metallb.io/internalapi created - l2advertisement.metallb.io/storage created - l2advertisement.metallb.io/tenant created - l2advertisement.metallb.io/designateext created - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' -z quay.io/openstack-k8s-operators/openstack-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=openstack-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE openstack-operator-index - OPERATOR_SOURCE openstack-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - 'Warning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - namespace/openstack-operators configured - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - catalogsource.operators.coreos.com/openstack-operator-index created - operatorgroup.operators.coreos.com/openstack created - subscription.operators.coreos.com/openstack-operator created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - bash -c "test -d /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator || CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator' - Cloning into 'openstack-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z openstack-kuttl-tests ']' - + '[' -z OpenStackControlPlane ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - ~/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ OpenStackControlPlane == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ '' != '' ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' OpenStackControlPlane == OpenStackControlPlane ']' - + cat - + '[' OpenStackControlPlane == Galera ']' - + '[' OpenStackControlPlane == NetConfig ']' - + '[' -n '' ']' - + [[ OpenStackControlPlane == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ true == \t\r\u\e ]] - + cat - + [[ OpenStackControlPlane == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -z true ']' - + cat - + '[' -n '' ']' - + '[' -z true ']' - + '[' -n true ']' - + '[' -n '' ']' - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - '# Wait until OLM installs openstack CRDs' - timeout 500s bash -c "while ! (oc get crd openstacks.operator.openstack.org); do sleep 1; done" - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - 'Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "openstacks.operator.openstack.org" not found' - NAME CREATED AT - openstacks.operator.openstack.org 2025-12-03T11:35:12Z - make openstack_init - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - '# call make_openstack if it isn''t already' - bash -c '(oc get subscription -n openstack-operators openstack-operator || make openstack) || true' - NAME PACKAGE SOURCE CHANNEL - openstack-operator openstack-operator openstack-operator-index alpha - timeout 500s bash -c 'until $(oc get csv -l operators.coreos.com/openstack-operator.openstack-operators -n openstack-operators | grep -q Succeeded); do sleep 1; done' - bash -c 'test -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml || make openstack_repo' - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/operator_v1beta1_openstack.yaml - openstack.operator.openstack.org/openstack created - '# FIXME: Ugly hack to prevent OpenStack Baremetal operator from crashing when BMO is not installed' - if ! echo "" | grep -q "baremetalhosts.metal3.io"; then \ - "\tcurl -o /tmp/bmh_crd.yaml --retry-all-errors --retry 5 --retry-delay 10 https://raw.githubusercontent.com/metal3-io/baremetal-operator/refs/heads/main/config/base/crds/bases/metal3.io_baremetalhosts.yaml; \\" - "\toc apply -f /tmp/bmh_crd.yaml; \\" - "\trm -f /tmp/bmh_crd.yaml; \\" - fi - ' % Total % Received % Xferd Average Speed Time Time Time Current' - ' Dload Upload Total Spent Left Speed' - '' - ' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0' - 100 61932 100 61932 0 0 1008k 0 --:--:-- --:--:-- --:--:-- 1025k - customresourcedefinition.apiextensions.k8s.io/baremetalhosts.metal3.io created - oc wait openstack/openstack -n openstack-operators --for condition=Ready --timeout=500s - openstack.operator.openstack.org/openstack condition met - timeout 500s bash -c "while ! (oc get services -n openstack-operators | grep -E '^(openstack|openstack-baremetal|infra)-operator-webhook-service' | wc -l | grep -q -e 3); do sleep 5; done" - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z openstack ']' - + '[' openstack = rabbitmq-cluster ']' - + DEPL_NAME=openstack-operator-controller-manager - ++ oc get -n openstack-operators deployment openstack-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make openstack_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - set -e; \ - for test_dir in ctlplane-basic-deployment ctlplane-basic-deployment-with-nicMappings ctlplane-collapsed ctlplane-galera-3replicas ctlplane-galera-basic ctlplane-nodeselectors ctlplane-tls-cert-rotation ctlplane-tls-custom-issuers ctlplane-tls-custom-route dataplane-create-test dataplane-deploy-global-service-test dataplane-deploy-multiple-secrets dataplane-deploy-no-nodes-test dataplane-deploy-tls-test dataplane-extramounts dataplane-multinode-nodeset-create-test dataplane-service-config dataplane-service-custom-image dataplane-service-failure; do \ - ' oc delete osctlplane --all --namespace openstack-kuttl-tests; \' - "\tmake crc_storage_cleanup_with_retries; \\" - "\tmake crc_storage_with_retries; \\" - "\tkubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests --test ${test_dir}; \\" - done - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Now using project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - No resources found - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - No resources found - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 5m13s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage created - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage created - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role created - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding created - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ oc apply -f - - ++ cat - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/crc - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - 'Warning: resource persistentvolumes/local-storage01-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage01-crc configured - 'Warning: resource persistentvolumes/local-storage02-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage02-crc configured - 'Warning: resource persistentvolumes/local-storage03-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage03-crc configured - 'Warning: resource persistentvolumes/local-storage04-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage04-crc configured - 'Warning: resource persistentvolumes/local-storage05-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage05-crc configured - 'Warning: resource persistentvolumes/local-storage06-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage06-crc configured - 'Warning: resource persistentvolumes/local-storage07-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage07-crc configured - 'Warning: resource persistentvolumes/local-storage08-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage08-crc configured - 'Warning: resource persistentvolumes/local-storage09-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage09-crc configured - 'Warning: resource persistentvolumes/local-storage10-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage10-crc configured - 'Warning: resource persistentvolumes/local-storage11-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage11-crc configured - 'Warning: resource persistentvolumes/local-storage12-crc is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - persistentvolume/local-storage12-crc configured - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs created - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 11:37:09 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 11:37:09 | | netconfig.network.openstack.org/netconfig created' - ' logger.go:42: 11:37:09 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 11:37:10 | | dnsmasq.network.openstack.org/dnsmasq created' - ' logger.go:42: 11:37:10 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 11:37:11 | | Generating public/private rsa key pair.' - ' logger.go:42: 11:37:11 | | Your identification has been saved in ansibleee-ssh-key-id_rsa' - ' logger.go:42: 11:37:11 | | Your public key has been saved in ansibleee-ssh-key-id_rsa.pub' - ' logger.go:42: 11:37:11 | | The key fingerprint is:' - ' logger.go:42: 11:37:11 | | SHA256:qxhPU/5ulNTTSrk46ghwjg7M6zlDD/MK3npnUfGx29A zuul@controller' - ' logger.go:42: 11:37:11 | | The key''s randomart image is:' - ' logger.go:42: 11:37:11 | | +---[RSA 4096]----+' - ' logger.go:42: 11:37:11 | | | |' - ' logger.go:42: 11:37:11 | | | . . |' - ' logger.go:42: 11:37:11 | | | o +. o |' - ' logger.go:42: 11:37:11 | | | . +.E= . |' - ' logger.go:42: 11:37:11 | | | . . . S.++ + |' - ' logger.go:42: 11:37:11 | | |o+ = . o o=.o |' - ' logger.go:42: 11:37:11 | | |+o* + + oo . |' - ' logger.go:42: 11:37:11 | | |o=++ O +... |' - ' logger.go:42: 11:37:11 | | |.BB.+ +..oo |' - ' logger.go:42: 11:37:11 | | +----[SHA256]-----+' - ' logger.go:42: 11:37:11 | | secret/dataplane-ansible-ssh-private-key-secret created' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-basic-deployment - === PAUSE kuttl/harness/ctlplane-basic-deployment - === RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === CONT kuttl/harness/ctlplane-basic-deployment - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:37:11 | ctlplane-basic-deployment/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | starting test step 2-deploy-custom-cacert-secret' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-ca.yaml' - ' ]' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | secret/ca-custom-kuttl created' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/2-deploy-custom-cacert-secret | test step completed 2-deploy-custom-cacert-secret' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | starting test step 3-deploy-custom-cacert' - ' logger.go:42: 11:42:17 | ctlplane-basic-deployment/3-deploy-custom-cacert | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_ca | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/3-deploy-custom-cacert | test step completed 3-deploy-custom-cacert' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | starting test step 4-' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | running command: [sh -c echo "Checking ca-custom-kuttl.pem is present in combined-ca-bundle..."' - ' CUSTOM_CERT_CONTENT=$(oc get secret ca-custom-kuttl -n $NAMESPACE -o jsonpath="{.data[''ca-custom-kuttl\.pem'']}" | base64 --decode | tr -d ''\n'')' - ' TLS_BUNDLE_CONTENT=$(oc get secret combined-ca-bundle -n $NAMESPACE -o jsonpath="{.data[''tls-ca-bundle\.pem'']}" | base64 --decode | tr -d ''\n'')' - ' if [[ "$TLS_BUNDLE_CONTENT" == *"$CUSTOM_CERT_CONTENT"* ]]; then' - ' echo "OK"' - ' exit 0' - ' else' - ' echo "Not present"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 11:42:21 | ctlplane-basic-deployment/4- | Checking ca-custom-kuttl.pem is present in combined-ca-bundle...' - ' logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | OK' - ' logger.go:42: 11:42:22 | ctlplane-basic-deployment/4- | test step completed 4-' - ' logger.go:42: 11:42:22 | ctlplane-basic-deployment/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 11:42:23 | ctlplane-basic-deployment/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 11:42:24 | ctlplane-basic-deployment/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 11:42:25 | ctlplane-basic-deployment/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 11:42:31 | ctlplane-basic-deployment/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment | skipping kubernetes event logging' - === CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings' - ' logger.go:42: 11:43:05 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml' - ' ]' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre configured' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:43:06 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "replace",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' "value":{"datacentre":"ospbr"}' - ' }]''' - ' ]' - ' logger.go:42: 11:46:38 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings' - ' logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:46:46 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "remove",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' }]''' - ' ]' - ' logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:46:47 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:48 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:49 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:51 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:52 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:53 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:54 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:56 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:57 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:46:58 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:00 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:01 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:02 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:04 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:05 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:06 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:08 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:09 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:10 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:11 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:13 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:14 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:15 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:17 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:18 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:19 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 11:47:20 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovncontroller-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 11:47:21 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 11:47:27 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 11:47:53 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (644.02s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-basic-deployment (354.54s)' - ' --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (287.89s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 2 - + NAME=persistence-rabbitmq-cell1-server-0 - + oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found - persistentvolumeclaim "persistence-rabbitmq-cell1-server-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 11m - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - ++ oc get pv -o json - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 11:48:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 11:48:55 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 11:48:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 11:48:56 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 11:48:56 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 11:48:56 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === PAUSE kuttl/harness/ctlplane-basic-deployment-with-nicMappings - === CONT kuttl/harness/ctlplane-basic-deployment-with-nicMappings - ' logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | starting test step 1-create-nic-mappings' - ' logger.go:42: 11:48:56 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/nad_datacentre.yaml' - ' ]' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | networkattachmentdefinition.k8s.cni.cncf.io/datacentre unchanged' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/1-create-nic-mappings | test step completed 1-create-nic-mappings' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | starting test step 2-deploy-openstack' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:48:57 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/2-deploy-openstack | test step completed 2-deploy-openstack' - ' logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | starting test step 3-add-ovn-nic-mappings' - ' logger.go:42: 11:54:34 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "replace",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' "value":{"datacentre":"ospbr"}' - ' }]''' - ' ]' - ' logger.go:42: 11:54:35 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/3-add-ovn-nic-mappings | test step completed 3-add-ovn-nic-mappings' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | starting test step 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c oc patch OpenStackControlPlane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "remove",' - ' "path": "/spec/ovn/template/ovnController/nicMappings",' - ' }]''' - ' ]' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 11:54:40 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:41 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:43 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | running command: [sh -c ovs_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller-ovs --no-headers=true --ignore-not-found=true | wc -l)' - ' ovn_controller_pod_count=$(oc get pod -n $NAMESPACE -l service=ovn-controller --no-headers=true --ignore-not-found=true | wc -l)' - ' if [ $ovs_controller_pod_count -eq 0 ] && [ $ovn_controller_pod_count -eq 0 ]; then' - ' exit 0' - ' fi' - ' exit 1' - ' ]' - ' logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/4-remove-ovn-nic-mappings | test step completed 4-remove-ovn-nic-mappings' - ' logger.go:42: 11:54:44 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 11:54:45 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovncontroller-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 11:54:46 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 11:54:52 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 11:55:22 | ctlplane-basic-deployment-with-nicMappings | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (387.57s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-basic-deployment-with-nicMappings (385.99s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m37s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ oc apply -f - - ++ cat - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ tr '\n' ' ' - ++ head -c-1 - ++ sed -e 's|node/||' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 11:55:45 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 11:55:45 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 11:55:45 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 11:55:46 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 11:55:46 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 11:55:46 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-collapsed - === PAUSE kuttl/harness/ctlplane-collapsed - === CONT kuttl/harness/ctlplane-collapsed - ' logger.go:42: 11:55:46 | ctlplane-collapsed | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | starting test step 0-deps' - ' logger.go:42: 11:55:46 | ctlplane-collapsed/0-deps | running command: [sh -c oc apply -f ../../common/rhobs.yaml' - ' until oc api-resources | grep -q rhobs; do sleep 1; done' - ' ]' - ' logger.go:42: 11:55:47 | ctlplane-collapsed/0-deps | subscription.operators.coreos.com/cluster-observability-operator created' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/0-deps | test step completed 0-deps' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | starting test step 1-deploy-openstack-collapsed-cell' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml' - ' ]' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 11:56:02 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | openstackcontrolplane.core.openstack.org/openstack-collapsed-cell created' - ' logger.go:42: 12:01:10 | ctlplane-collapsed/1-deploy-openstack-collapsed-cell | test step completed 1-deploy-openstack-collapsed-cell' - ' logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | starting test step 2-cleanup' - ' logger.go:42: 12:01:10 | ctlplane-collapsed/2-cleanup | running command: [sh -c oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-metric-storage-prometheus-svc" deleted' - ' logger.go:42: 12:01:11 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-watcher-internal-svc" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-watcher-public-route" deleted' - ' logger.go:42: 12:01:12 | ctlplane-collapsed/2-cleanup | secret "cert-watcher-public-svc" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:01:18 | ctlplane-collapsed/2-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:01:44 | ctlplane-collapsed/2-cleanup | test step completed 2-cleanup' - ' logger.go:42: 12:01:44 | ctlplane-collapsed | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (359.28s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-collapsed (357.70s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/prometheus-metric-storage-db-prometheus-metric-storage-0 - ++ cut -d / -f 2 - + NAME=prometheus-metric-storage-db-prometheus-metric-storage-0 - + oc delete -n openstack-kuttl-tests pvc/prometheus-metric-storage-db-prometheus-metric-storage-0 --ignore-not-found - persistentvolumeclaim "prometheus-metric-storage-db-prometheus-metric-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m7s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ oc apply -f - - ++ cat - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:02:07 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:02:07 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:02:11 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:02:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:02:12 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:02:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:02:12 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-galera-3replicas - === PAUSE kuttl/harness/ctlplane-galera-3replicas - === CONT kuttl/harness/ctlplane-galera-3replicas - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | starting test step 1-deploy-galera-3replicas' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml' - ' ]' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:02:12 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | openstackcontrolplane.core.openstack.org/openstack-galera-3replicas created' - ' logger.go:42: 12:08:24 | ctlplane-galera-3replicas/1-deploy-galera-3replicas | test step completed 1-deploy-galera-3replicas' - ' logger.go:42: 12:08:24 | ctlplane-galera-3replicas/2-cleanup | starting test step 2-cleanup' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' mysql-db-openstack-galera-0 \' - ' mysql-db-openstack-galera-1 \' - ' mysql-db-openstack-galera-2 \' - ' mysql-db-openstack-cell1-galera-0 \' - ' mysql-db-openstack-cell1-galera-1 \' - ' mysql-db-openstack-cell1-galera-2' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-0" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-1" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-2" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-1" deleted' - ' logger.go:42: 12:08:25 | ctlplane-galera-3replicas/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-2" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:08:45 | ctlplane-galera-3replicas/2-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:08:51 | ctlplane-galera-3replicas/2-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:08:59 | ctlplane-galera-3replicas/2-cleanup | test step completed 2-cleanup' - ' logger.go:42: 12:08:59 | ctlplane-galera-3replicas | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (412.15s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-galera-3replicas (406.80s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/persistence-rabbitmq-cell1-server-0 - ++ cut -d / -f 2 - + NAME=persistence-rabbitmq-cell1-server-0 - + oc delete -n openstack-kuttl-tests pvc/persistence-rabbitmq-cell1-server-0 --ignore-not-found - persistentvolumeclaim "persistence-rabbitmq-cell1-server-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 7m32s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ oc apply -f - - ++ cat - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:09:55 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:09:55 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:09:56 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:09:56 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:09:57 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:09:57 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:09:57 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-galera-basic - === PAUSE kuttl/harness/ctlplane-galera-basic - === CONT kuttl/harness/ctlplane-galera-basic - ' logger.go:42: 12:09:57 | ctlplane-galera-basic | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | starting test step 1-deploy-galera' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | running command: [sh -c oc apply -n $NAMESPACE -f ../../../../config/samples/core_v1beta1_openstackcontrolplane_galera.yaml' - ' ]' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:09:57 | ctlplane-galera-basic/1-deploy-galera | openstackcontrolplane.core.openstack.org/openstack-galera created' - ' logger.go:42: 12:15:03 | ctlplane-galera-basic/1-deploy-galera | test step completed 1-deploy-galera' - ' logger.go:42: 12:15:03 | ctlplane-galera-basic/2-cleanup | starting test step 2-cleanup' - ' logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' mysql-db-openstack-galera-0 \' - ' mysql-db-openstack-cell1-galera-0 \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim "mysql-db-openstack-galera-0" deleted' - ' logger.go:42: 12:15:04 | ctlplane-galera-basic/2-cleanup | persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:15:48 | ctlplane-galera-basic/2-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:15:54 | ctlplane-galera-basic/2-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:15:56 | ctlplane-galera-basic/2-cleanup | test step completed 2-cleanup' - ' logger.go:42: 12:15:56 | ctlplane-galera-basic | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (360.77s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-galera-basic (358.70s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m9s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ oc apply -f - - ++ cat - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:16:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:16:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:16:19 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:16:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:16:20 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:16:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:16:20 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-nodeselectors - === PAUSE kuttl/harness/ctlplane-nodeselectors - === CONT kuttl/harness/ctlplane-nodeselectors - ' logger.go:42: 12:16:20 | ctlplane-nodeselectors | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:16:20 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector="beta.kubernetes.io/os=linux"' - ' ]' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | namespace/openstack-kuttl-tests annotated' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/nodeselectors/global | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:16:21 | ctlplane-nodeselectors/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | starting test step 2-' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | running command: [sh -c echo "Checking all pods have expected nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:19 | ctlplane-nodeselectors/2- | Checking all pods have expected nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | running command: [sh -c echo "Checking all cronjobs have expected nodeselector"' - ' EXPECTED_NODE_SELECTOR="node-role.kubernetes.io/worker:"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | Checking all cronjobs have expected nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/2- | test step completed 2-' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | starting test step 3-update-nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | running command: [sh -c oc patch openstackcontrolplane -n $NAMESPACE openstack --type=''json'' -p=''[{' - ' "op": "replace",' - ' "path": "/spec/nodeSelector",' - ' "value": {"kubernetes.io/os":"linux"}' - ' }]''' - ' ]' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | openstackcontrolplane.core.openstack.org/openstack patched' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/3-update-nodeselector | test step completed 3-update-nodeselector' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | starting test step 4-' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:21 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | Found 26 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-nb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | Found 25 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovn-northd-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | ovsdbserver-sb-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | Found 24 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | kube-state-metrics-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | memcached-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-cell1-novncproxy-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:26 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | Found 21 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-cell1-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | Found 20 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstack-galera-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:30 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | Found 19 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-cell1-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:35 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | Found 18 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | rabbitmq-server-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:38 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:39 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:40 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:41 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:42 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:43 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:44 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:45 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:46 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:47 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:48 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | Found 17 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:49 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:50 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | Found 16 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell0-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:52 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:53 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | Found 15 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-cell1-conductor-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | swift-storage-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:54 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:55 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:56 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:57 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:58 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | Found 13 pods with bad or missing nodeselector:' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-keystone-listener-55bfbc4797-wjrjr: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-external-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | glance-default-internal-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:20:59 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:00 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | Found 10 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | barbican-worker-76d6bdd486-g9c2p: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:01 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:02 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:03 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:04 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:05 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:06 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:07 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | Found 9 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | barbican-api-64fc65b95f-tl6vk: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:08 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:09 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:10 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:11 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:12 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:13 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:14 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:15 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | Found 8 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | cinder-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:16 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:17 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:18 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:19 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:20 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:21 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:22 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:23 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:24 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | Found 7 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | placement-7d6bd9d7c9-n2lr6: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:25 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:26 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:27 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:28 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | Found 6 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | neutron-54579c6749-xzrwm: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | nova-scheduler-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:29 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:30 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:31 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | Found 4 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-api-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | nova-metadata-0: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:32 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:33 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:34 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:35 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:36 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | Found 2 pods with bad or missing nodeselector:' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | keystone-78dd58875-slm9r: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | openstackclient: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | swift-proxy-d4747d79f-wtbhv: map[beta.kubernetes.io/os:linux node-role.kubernetes.io/worker:]' - ' logger.go:42: 12:21:37 | ctlplane-nodeselectors/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all running pods have new nodeselector"' - ' EXPECTED_NODE_SELECTOR="beta.kubernetes.io/os:linux kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get pods -n $NAMESPACE -l service!=dnsmasq --field-selector=status.phase=Running -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT pods with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all running pods have new nodeselector' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | running command: [sh -c echo "Checking all cronjobs have expected nodeselector"' - ' EXPECTED_NODE_SELECTOR="kubernetes.io/os:linux"' - ' BAD_OR_MISSING_NODE_SELECTOR=$(oc get cronjobs -n $NAMESPACE -o=go-template --template=''{{ range .items }}{{ .metadata.name}}: {{ .spec.jobTemplate.spec.template.spec.nodeSelector }}{{"\n"}}{{ end }}'' | grep -v ''ovn-controller-.*-config'' | grep -v ''crc-storage-*'' | sed -e ''\!map\[''"$EXPECTED_NODE_SELECTOR"''\]$!d'')' - ' BAD_OR_MISSING_NODE_SELECTOR_COUNT=$(echo -n "$BAD_OR_MISSING_NODE_SELECTOR" | wc -l)' - ' if [ $BAD_OR_MISSING_NODE_SELECTOR_COUNT -ne 0 ]; then' - ' echo "Found $BAD_OR_MISSING_NODE_SELECTOR_COUNT cronjobs with bad or missing nodeselector:"' - ' echo "$BAD_OR_MISSING_NODE_SELECTOR"' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | Checking all cronjobs have expected nodeselector' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/4- | test step completed 4-' - ' logger.go:42: 12:21:38 | ctlplane-nodeselectors/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | running command: [sh -c oc annotate namespace $NAMESPACE openshift.io/node-selector-' - ' oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:21:39 | ctlplane-nodeselectors/5-cleanup | namespace/openstack-kuttl-tests annotated' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:21:40 | ctlplane-nodeselectors/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:21:41 | ctlplane-nodeselectors/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:21:47 | ctlplane-nodeselectors/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:22:14 | ctlplane-nodeselectors/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:22:14 | ctlplane-nodeselectors | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (356.10s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-nodeselectors (353.83s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 6m5s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ oc apply -f - - ++ cat - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:22:38 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:22:38 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:22:39 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:22:39 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:22:39 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:22:39 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:22:40 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-tls-cert-rotation - === PAUSE kuttl/harness/ctlplane-tls-cert-rotation - === CONT kuttl/harness/ctlplane-tls-cert-rotation - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | starting test step 0-deploy-openstack-tls-ingress-only' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c oc kustomize ../../../../config/samples/tls/tls_ingress | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:22:40 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Fail if internal https endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''https:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:26:26 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered' - ' logger.go:42: 12:26:35 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb internalDbAddress use tcp"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb DB connection use tcp"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q ptcp"' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check nova transport_url use tcp"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=0''"' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check neutron ovn_sb_connection url tcp address"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp"' - ' ]' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address' - ' logger.go:42: 12:26:36 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:26:38 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Fail if internal https endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''https:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:27:00 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered' - ' logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb internalDbAddress use tcp"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp' - ' ]' - ' logger.go:42: 12:27:02 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp' - ' logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb DB connection use tcp"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q ptcp"' - ' ]' - ' logger.go:42: 12:27:03 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check nova transport_url use tcp"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=0''"' - ' ]' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check neutron ovn_sb_connection url tcp address"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp"' - ' ]' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address' - ' logger.go:42: 12:27:04 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:27:05 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "Fail if internal https endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''https:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:27:06 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Fail if internal https endpoints are registered' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb internalDbAddress use tcp"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q tcp' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb internalDbAddress use tcp' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check ovn sb DB connection use tcp"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q ptcp"' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check ovn sb DB connection use tcp' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check nova transport_url use tcp"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=0''"' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check nova transport_url use tcp' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | running command: [sh -c echo "check neutron ovn_sb_connection url tcp address"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf | grep -q tcp"' - ' ]' - ' logger.go:42: 12:27:08 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | check neutron ovn_sb_connection url tcp address' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/0-deploy-openstack-tls-ingress-only | test step completed 0-deploy-openstack-tls-ingress-only' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:27:09 | ctlplane-tls-cert-rotation/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | starting test step 2-get-endpoints-certs' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_before' - ' ]' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Get fingerprints of all service certs' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:27:10 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | ++ awk -F/ ''{print $3}''' - ' logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Service Unavailable (HTTP 503)' - ' logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:27:20 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "Fail if internal http endpoints are registered"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -c "openstack endpoint list --interface internal -f value -c URL" | grep ''http:'' && exit 1' - ' exit 0' - ' ]' - ' logger.go:42: 12:29:41 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Fail if internal http endpoints are registered' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check ovn sb internalDbAddress use ssl"' - ' oc get -n $NAMESPACE OVNDBCluster ovndbcluster-sb -o jsonpath={.status.internalDbAddress} | grep -q ssl' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb internalDbAddress use ssl' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check ovn sb DB connection use ssl"' - ' oc exec -i statefulset/ovsdbserver-sb -n $NAMESPACE -- bash -c "ovn-sbctl --no-leader-only get-connection | grep -q pssl"' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check ovn sb DB connection use ssl' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container "ovsdbserver-sb" out of: ovsdbserver-sb, openstack-network-exporter' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check nova transport_url use ssl"' - ' oc exec -i statefulset/nova-cell1-conductor -n $NAMESPACE -- bash -c "grep transport_url /etc/nova/nova.conf.d/01-nova.conf | grep -q ''ssl=1''"' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check nova transport_url use ssl' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | running command: [sh -c echo "check neutron ovn_sb_connection url ssl"' - ' oc exec -i deployment/neutron -n $NAMESPACE -- bash -c "grep ovn_sb_connection /etc/neutron/neutron.conf.d/01-neutron.conf| grep -q ssl"' - ' ]' - ' logger.go:42: 12:29:44 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | check neutron ovn_sb_connection url ssl' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | Defaulted container "neutron-api" out of: neutron-api, neutron-httpd' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/2-get-endpoints-certs | test step completed 2-get-endpoints-certs' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | starting test step 3-change-cert-duration' - ' logger.go:42: 12:29:45 | ctlplane-tls-cert-rotation/3-change-cert-duration | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_duration | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:29:46 | ctlplane-tls-cert-rotation/3-change-cert-duration | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/3-change-cert-duration | test step completed 3-change-cert-duration' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | starting test step 4-' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:29:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:29:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:29:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:29:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:29:51 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:29:52 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:29:53 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ ''{print $3}''' - ' logger.go:42: 12:29:54 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command terminated with exit code 137' - ' logger.go:42: 12:29:56 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:29:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:29:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:29:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:00 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:01 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:02 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:03 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:04 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:05 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:06 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:07 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:08 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:09 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:10 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:11 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:12 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:15 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:16 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:17 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:18 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:19 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:20 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:21 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:22 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:25 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:26 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:27 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:28 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:29 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:30 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:31 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:32 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:33 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:35 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:36 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:37 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:38 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | Error from server (NotFound): pods "openstackclient" not found' - ' logger.go:42: 12:30:39 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:40 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15671.' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:15691.' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq at 10.217.5.209:5671.' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:41 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6642.' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:6644.' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-sb-0 at 10.217.5.7:1981.' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:42 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6641.' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:6643.' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ovsdbserver-nb-0 at 10.217.4.247:1981.' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:43 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:5671.' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15671.' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:44 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from rabbitmq-cell1 at 10.217.5.167:15691.' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack-cell1 at 10.217.4.127:3306.' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from openstack at 10.217.4.124:3306.' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:30:45 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | error: unable to upgrade connection: container not found ("openstackclient")' - ' logger.go:42: 12:30:46 | ctlplane-tls-cert-rotation/4- | command failure, skipping 1 additional commands' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:30:47 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:30:49 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:50 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:30:51 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:30:52 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:30:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:30:54 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:30:55 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:30:56 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:30:57 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:30:58 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:30:59 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:00 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:01 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:02 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:03 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:04 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:05 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:06 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:07 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:08 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:10 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:11 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:12 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:14 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:15 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:16 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:17 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:18 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:19 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:20 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:21 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:22 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:23 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:24 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:25 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:26 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:27 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:28 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:29 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:30 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:31 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:32 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:33 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:34 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:35 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:36 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:37 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:38 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:39 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:40 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:41 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:42 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:43 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:44 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:45 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:46 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:47 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:48 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:49 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:50 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:31:51 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:31:52 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:31:53 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:31:54 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:31:55 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:31:56 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Error retrieving certificate from ceilometer-internal at 10.217.4.105:3000.' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 DO NOT match the secret.' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 DO NOT match the secret.' - ' logger.go:42: 12:31:57 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 DO NOT match the secret.' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:31:58 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:31:59 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | The following services had certificate mismatches:' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 15691' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq on port 5671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 5671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15671' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | - rabbitmq-cell1 on port 15691' - ' logger.go:42: 12:32:07 | ctlplane-tls-cert-rotation/4- | command failure, skipping 2 additional commands' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq (ClusterIP: 10.217.5.209, Ports: 15671 15691 5671)' - ' logger.go:42: 12:32:08 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:32:09 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.7, Ports: 6642 6644 1981)' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:32:10 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.247, Ports: 6641 6643 1981)' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:32:11 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.105, Ports: 3000)' - ' logger.go:42: 12:32:12 | ctlplane-tls-cert-rotation/4- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.167, Ports: 5671 15671 15691)' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:32:13 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.127, Ports: 3306)' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:32:14 | ctlplane-tls-cert-rotation/4- | Checking database: openstack (ClusterIP: 10.217.4.124, Ports: 3306)' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Get fingerprints of all service certs"' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_endpoint_fingerprints.sh > /tmp/endpoint_fingerprints_after' - ' ]' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | Get fingerprints of all service certs' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:32:15 | ctlplane-tls-cert-rotation/4- | ++ awk -F/ ''{print $3}''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''swift-public-openstack-kuttl-tests.apps-crc.testing:443 EE:C2:75:CB:7D:ED:10:97:EF:AD:01:C2:24:59:38:67:62:60:C2:D1''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''nova-internal.openstack-kuttl-tests.svc:8774 2D:D6:B1:39:87:17:64:49:3F:31:51:0F:92:88:8E:2A:DC:D4:9E:DB''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''placement-public-openstack-kuttl-tests.apps-crc.testing:443 E7:0D:CA:E4:51:B2:3E:91:04:8B:39:BA:7B:95:86:3F:AB:13:C9:06''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''neutron-public-openstack-kuttl-tests.apps-crc.testing:443 B1:50:6C:A7:A5:ED:D1:05:C6:6A:57:A1:F6:FF:D7:BA:C1:DB:6B:C8''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''cinder-internal.openstack-kuttl-tests.svc:8776 FE:6C:A1:82:FA:1A:09:18:6F:5C:8C:79:B8:CF:51:59:76:13:1B:79''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''placement-internal.openstack-kuttl-tests.svc:8778 5F:22:EA:ED:2F:E2:AF:BD:C6:29:07:A0:BF:87:D2:DC:23:A2:D5:67''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''keystone-public-openstack-kuttl-tests.apps-crc.testing:443 A3:79:A9:DB:AC:D1:A8:A0:25:F6:11:94:AB:24:8E:D8:FF:07:B8:6E''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''barbican-internal.openstack-kuttl-tests.svc:9311 D6:E1:5C:33:7F:5B:42:CC:56:BD:22:6A:4B:CC:EF:08:34:F9:14:48''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 9A:29:20:8D:4F:B3:C9:E9:86:B6:79:92:C4:EA:B6:1F:6D:54:8E:4A''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + finger_print=06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ -n 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1 ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + echo ''glance-default-internal.openstack-kuttl-tests.svc:9292 06:A0:D9:51:11:36:FA:66:62:E7:44:32:C7:81:A3:46:98:8C:EE:E1''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | + [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:17 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01 ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''keystone-internal.openstack-kuttl-tests.svc:5000 B0:BB:A3:13:BF:FB:B0:42:58:DD:0B:6B:B4:61:21:0A:79:66:F4:01''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''neutron-internal.openstack-kuttl-tests.svc:9696 7D:17:89:E2:45:2F:26:BD:9B:FB:C2:3B:0B:EC:9B:8B:65:74:0C:8D''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3 ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''nova-public-openstack-kuttl-tests.apps-crc.testing:443 9D:12:84:A9:83:9E:E2:28:7E:B9:36:31:3A:26:D7:3E:6F:A8:9D:D3''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''cinder-public-openstack-kuttl-tests.apps-crc.testing:443 FD:08:2B:29:4D:65:CD:15:03:DF:78:EE:CC:58:A0:9E:DD:28:20:FF''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33 ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''barbican-public-openstack-kuttl-tests.apps-crc.testing:443 44:2A:37:5E:FD:E1:2B:9E:64:BD:95:11:76:EA:17:F8:70:40:D8:33''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + for url in $(openstack endpoint list -c URL -f value | awk -F/ ''{print $3}'')' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed -E ''s|^[^:/]+://([^:/]+)(:([0-9]+))?.*|\1:\3|''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ openssl x509 -fingerprint -noout -in /dev/stdin' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | ++ sed ''s/.* Fingerprint=//''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + finger_print=2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + [[ -n 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC ]]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + echo ''swift-internal.openstack-kuttl-tests.svc:8080 2C:7D:60:70:F5:54:FB:77:ED:63:E6:64:83:D9:AB:B9:B6:D1:F1:CC''' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | running command: [sh -c echo "Check if all services from before are present in after and have valid fingerprints"' - ' bash -s < ../../common/osp_check_fingerprints.sh' - ' ]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | Check if all services from before are present in after and have valid fingerprints' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + IFS=' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + read -r before' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | + exit 0' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/4- | test step completed 4-' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:32:18 | ctlplane-tls-cert-rotation/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:32:19 | ctlplane-tls-cert-rotation/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:32:25 | ctlplane-tls-cert-rotation/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:32:52 | ctlplane-tls-cert-rotation | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (614.87s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-tls-cert-rotation (612.92s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 10m - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ oc apply -f - - ++ cat - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ oc apply -f - - ++ cat - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:33:18 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:33:18 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:33:19 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:33:19 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:33:20 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:33:20 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:33:21 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-tls-custom-issuers - === PAUSE kuttl/harness/ctlplane-tls-custom-issuers - === CONT kuttl/harness/ctlplane-tls-custom-issuers - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | starting test step 0-deploy-custom-issuers' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml' - ' oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml' - ' ]' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom created' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/0-deploy-custom-issuers | test step completed 0-deploy-custom-issuers' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:33:21 | ctlplane-tls-custom-issuers/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | starting test step 2-' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)' - ' logger.go:42: 12:38:01 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)' - ' logger.go:42: 12:38:02 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:38:03 | ctlplane-tls-custom-issuers/2- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:38:04 | ctlplane-tls-custom-issuers/2- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)' - ' logger.go:42: 12:38:05 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:38:06 | ctlplane-tls-custom-issuers/2- | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)' - ' logger.go:42: 12:38:07 | ctlplane-tls-custom-issuers/2- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal-custom" "internal"' - ' ]' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | Checking issuer of internal certificates...' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:08 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + http_status=300' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + return 0' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=svc' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ grep svc' - ' logger.go:42: 12:38:10 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + echo ''All certificates match the custom issuer rootca-internal-custom''' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + exit 0' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-internal-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-ingress-custom" "public"' - ' ]' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | Checking issuer of ingress certificates...' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + EXPECTED_ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | + ALL_MATCHED=1' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:12 | ctlplane-tls-custom-issuers/2- | ++ grep keystone-public' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + http_status=300' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + return 0' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | + endpoint_filter=public' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:38:14 | ctlplane-tls-custom-issuers/2- | ++ grep public' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + for retry in {1..5}' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | ++ local output' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:38:16 | ctlplane-tls-custom-issuers/2- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + break' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | All certificates match the custom issuer rootca-ingress-custom' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + echo ''All certificates match the custom issuer rootca-ingress-custom''' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | + exit 0' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/2- | test step completed 2-' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | starting test step 3-deploy-openstack' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/3-deploy-openstack | test step completed 3-deploy-openstack' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | starting test step 4-rotate-service-certs' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Deleting secrets..."' - ' oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:38:17 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Deleting secrets...' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:38:18 | ctlplane-tls-custom-issuers/4-rotate-service-certs | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:38:24 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking rotation of non API service certificates...' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.136, Ports: 5671 15671 15691)' - ' logger.go:42: 12:40:39 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.4.211, Ports: 6642 6644 1981)' - ' logger.go:42: 12:40:40 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:40:41 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.185, Ports: 6641 6643 1981)' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:40:42 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.4.193, Ports: 3000)' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:40:43 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.165, Ports: 5671 15671 15691)' - ' logger.go:42: 12:40:44 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.4.146, Ports: 3306)' - ' logger.go:42: 12:40:45 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.5.192, Ports: 3306)' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Connecting to openstack on port 3306...' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal" "internal"' - ' ]' - ' logger.go:42: 12:40:46 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of internal certificates...' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:47 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=svc' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:49 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep svc' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:50 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-internal' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-internal''' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-public" "public"' - ' ]' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking issuer of ingress certificates...' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + EXPECTED_ISSUER=rootca-public' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:51 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + return 0' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + endpoint_filter=public' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:40:53 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ grep public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ local output' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ISSUER=rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ -n rootca-public ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + break' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | All certificates match the custom issuer rootca-public' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-public''' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | + exit 0' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/4-rotate-service-certs | test step completed 4-rotate-service-certs' - ' logger.go:42: 12:40:55 | ctlplane-tls-custom-issuers/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:40:56 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:40:57 | ctlplane-tls-custom-issuers/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:41:03 | ctlplane-tls-custom-issuers/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | starting test step 6-deploy-openstack' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:41:29 | ctlplane-tls-custom-issuers/6-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/6-deploy-openstack | test step completed 6-deploy-openstack' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | starting test step 7-' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking rotation of non API service certificates...' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:45:33 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)' - ' logger.go:42: 12:45:34 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:45:35 | ctlplane-tls-custom-issuers/7- | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:45:36 | ctlplane-tls-custom-issuers/7- | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Error retrieving certificate from ceilometer-internal at 10.217.5.90:3000.' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)' - ' logger.go:42: 12:45:37 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)' - ' logger.go:42: 12:45:38 | ctlplane-tls-custom-issuers/7- | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Connecting to openstack on port 3306...' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal" "internal"' - ' ]' - ' logger.go:42: 12:45:39 | ctlplane-tls-custom-issuers/7- | Checking issuer of internal certificates...' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-internal' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:45:40 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + http_status=300' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + return 0' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=svc' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:45:42 | ctlplane-tls-custom-issuers/7- | ++ grep svc' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ output=' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ echo ''''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + ISSUER=' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + [[ -n '''' ]]' - ' logger.go:42: 12:45:44 | ctlplane-tls-custom-issuers/7- | + sleep 20' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 2 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-internal ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + [[ rootca-internal != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l ]]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-internal' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + echo ''All certificates match the custom issuer rootca-internal''' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + exit 0' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-public" "public"' - ' ]' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | Checking issuer of ingress certificates...' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + EXPECTED_ISSUER=rootca-public' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | + ALL_MATCHED=1' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:46:04 | ctlplane-tls-custom-issuers/7- | ++ grep keystone-public' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + http_status=300' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + return 0' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | + endpoint_filter=public' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:46:06 | ctlplane-tls-custom-issuers/7- | ++ grep public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ local host_port' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:08 | ctlplane-tls-custom-issuers/7- | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + for retry in {1..5}' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ local output' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ output=issuer=CN=rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ echo issuer=CN=rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + ISSUER=rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ -n rootca-public ]]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + break' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + [[ rootca-public != \r\o\o\t\c\a\-\p\u\b\l\i\c ]]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + echo ''All certificates match the custom issuer rootca-public''' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | + exit 0' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | All certificates match the custom issuer rootca-public' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/7- | test step completed 7-' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | starting test step 8-deploy-custom-issuers' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | running command: [sh -c oc apply -n $NAMESPACE -f ../../common/custom-internal-issuer.yaml' - ' oc apply -n $NAMESPACE -f ../../common/custom-ingress-issuer.yaml' - ' ]' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-internal-custom unchanged' - ' logger.go:42: 12:46:09 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-internal-custom unchanged' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | issuer.cert-manager.io/rootca-ingress-custom unchanged' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | certificate.cert-manager.io/rootca-ingress-custom unchanged' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/8-deploy-custom-issuers | test step completed 8-deploy-custom-issuers' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | starting test step 9-deploy-openstack' - ' logger.go:42: 12:46:10 | ctlplane-tls-custom-issuers/9-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/tls/custom_issuers | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/9-deploy-openstack | test step completed 9-deploy-openstack' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | starting test step 10-rotate-service-certs' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Deleting secrets..."' - ' oc get secret -l service-cert -n $NAMESPACE -o name > /tmp/deleted-secrets.txt' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Deleting secrets...' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:46:11 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:46:12 | ctlplane-tls-custom-issuers/10-rotate-service-certs | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Waiting for OpenStack control plane to be ready..."' - ' oc wait openstackcontrolplane -n $NAMESPACE --for=condition=Ready --timeout=400s -l core.openstack.org/openstackcontrolplane' - ' ]' - ' logger.go:42: 12:46:18 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Waiting for OpenStack control plane to be ready...' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | openstackcontrolplane.core.openstack.org/openstack condition met' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Checking rotation of non API service certificates..."' - ' NAMESPACE=$NAMESPACE bash ../../common/osp_check_noapi_service_certs.sh' - ' ]' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking rotation of non API service certificates...' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq (ClusterIP: 10.217.4.64, Ports: 5671 15671 15691)' - ' logger.go:42: 12:48:40 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 5671...' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 5671 match the secret.' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15671...' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15671 match the secret.' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq on port 15691...' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq on port 15691 match the secret.' - ' logger.go:42: 12:48:41 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-sb-0 (ClusterIP: 10.217.5.83, Ports: 6642 6644 1981)' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6642...' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6642 match the secret.' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 6644...' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 6644 match the secret.' - ' logger.go:42: 12:48:42 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-sb-0 on port 1981...' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-sb-0 on port 1981 match the secret.' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ovsdbserver-nb-0 (ClusterIP: 10.217.4.208, Ports: 6641 6643 1981)' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6641...' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6641 match the secret.' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 6643...' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 6643 match the secret.' - ' logger.go:42: 12:48:43 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ovsdbserver-nb-0 on port 1981...' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ovsdbserver-nb-0 on port 1981 match the secret.' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: ceilometer-internal (ClusterIP: 10.217.5.90, Ports: 3000)' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to ceilometer-internal on port 3000...' - ' logger.go:42: 12:48:44 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for ceilometer-internal on port 3000 match the secret.' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking service: rabbitmq-cell1 (ClusterIP: 10.217.5.169, Ports: 15691 5671 15671)' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15691...' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15691 match the secret.' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 5671...' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 5671 match the secret.' - ' logger.go:42: 12:48:45 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to rabbitmq-cell1 on port 15671...' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for rabbitmq-cell1 on port 15671 match the secret.' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack-cell1 (ClusterIP: 10.217.5.123, Ports: 3306)' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack-cell1 on port 3306...' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack-cell1 on port 3306 match the secret.' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking database: openstack (ClusterIP: 10.217.4.177, Ports: 3306)' - ' logger.go:42: 12:48:46 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Connecting to openstack on port 3306...' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Certificates for openstack on port 3306 match the secret.' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Checking issuer of internal certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-internal-custom" "internal"' - ' ]' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of internal certificates...' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=internal' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:47 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=svc' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:49 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep svc' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local ''endpoint_url=https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo ''https://swift-internal.openstack-kuttl-tests.svc:8080/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-internal.openstack-kuttl-tests.svc:8080 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking swift-internal.openstack-kuttl-tests.svc:8080 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-internal.openstack-kuttl-tests.svc:8080 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-internal.openstack-kuttl-tests.svc:8080...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-internal.openstack-kuttl-tests.svc:8080' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-internal.openstack-kuttl-tests.svc:8774/v2.1' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-internal.openstack-kuttl-tests.svc:8774 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-internal.openstack-kuttl-tests.svc:8774 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking nova-internal.openstack-kuttl-tests.svc:8774 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-internal.openstack-kuttl-tests.svc:8774...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-internal.openstack-kuttl-tests.svc:8774' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-internal.openstack-kuttl-tests.svc:9311 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking barbican-internal.openstack-kuttl-tests.svc:9311 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-internal.openstack-kuttl-tests.svc:9311...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-internal.openstack-kuttl-tests.svc:9311' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-internal.openstack-kuttl-tests.svc:9292 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-internal.openstack-kuttl-tests.svc:9292 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-internal.openstack-kuttl-tests.svc:9292...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-internal.openstack-kuttl-tests.svc:9292' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-internal.openstack-kuttl-tests.svc:5000 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-internal.openstack-kuttl-tests.svc:5000 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-internal.openstack-kuttl-tests.svc:5000...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-internal.openstack-kuttl-tests.svc:5000' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-internal.openstack-kuttl-tests.svc:8778 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking placement-internal.openstack-kuttl-tests.svc:8778 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-internal.openstack-kuttl-tests.svc:8778 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-internal.openstack-kuttl-tests.svc:8778...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-internal.openstack-kuttl-tests.svc:8778' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-internal.openstack-kuttl-tests.svc:9696 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking neutron-internal.openstack-kuttl-tests.svc:9696 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-internal.openstack-kuttl-tests.svc:9696...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-internal.openstack-kuttl-tests.svc:9696' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ internal == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-internal.openstack-kuttl-tests.svc:8776/v3' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+(:[0-9]+)?).*|\1|''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-internal.openstack-kuttl-tests.svc:8776 =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...''' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-internal.openstack-kuttl-tests.svc:8776 ...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-internal.openstack-kuttl-tests.svc:8776...' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-internal.openstack-kuttl-tests.svc:8776' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-internal-custom' - ' logger.go:42: 12:48:51 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-internal-custom' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-internal-custom ]]' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-internal-custom != \r\o\o\t\c\a\-\i\n\t\e\r\n\a\l\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-internal-custom' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-internal-custom''' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | running command: [sh -c echo "Checking issuer of ingress certificates..."' - ' oc exec -i openstackclient -n $NAMESPACE -- bash -s < ../../common/osp_check_cert_issuer.sh "rootca-ingress-custom" "public"' - ' ]' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking issuer of ingress certificates...' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + EXPECTED_ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ENDPOINT_TYPE=public' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER_MISMATCHES=' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ALL_MATCHED=1' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:52 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep keystone-public' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + keystone_host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + check_keystone_endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...''' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking Keystone endpoint https://keystone-public-openstack-kuttl-tests.apps-crc.testing ...' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ curl -s -o /dev/null -w ''%{http_code}'' https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + http_status=300' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -ge 200 ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ 300 -lt 400 ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + return 0' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + endpoint_filter=public' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ openstack endpoint list -c URL -f value' - ' logger.go:42: 12:48:54 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ grep public' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://cinder-public-openstack-kuttl-tests.apps-crc.testing/v3' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! cinder-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking cinder-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer cinder-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect cinder-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:55 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! keystone-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking keystone-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer keystone-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect keystone-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! barbican-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking barbican-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer barbican-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect barbican-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://nova-public-openstack-kuttl-tests.apps-crc.testing/v2.1' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! nova-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking nova-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer nova-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect nova-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! neutron-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking neutron-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer neutron-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect neutron-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! placement-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking placement-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer placement-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect placement-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local ''endpoint_url=https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo ''https://swift-public-openstack-kuttl-tests.apps-crc.testing/v1/AUTH_%(tenant_id)s''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! swift-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking swift-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer swift-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect swift-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for url in $(openstack endpoint list -c URL -f value | grep "$endpoint_filter")' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ extract_host_port https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local endpoint_url=https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ public == \p\u\b\l\i\c ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ sed -E ''s|^[^:/]+://([^:/]+).*|\1|''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ echo https://glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ [[ ! glance-default-public-openstack-kuttl-tests.apps-crc.testing =~ :[0-9]+$ ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Checking glance-default-public-openstack-kuttl-tests.apps-crc.testing:443 ...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + for retry in {1..5}' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''Retrying 1 on getting issuer glance-default-public-openstack-kuttl-tests.apps-crc.testing:443...''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ get_issuer_cn glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local host_port=glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ local output' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl s_client -connect glance-default-public-openstack-kuttl-tests.apps-crc.testing:443' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | +++ openssl x509 -noout -issuer' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ output=issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ echo issuer=CN=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | ++ sed -n ''s/^.*CN[[:space:]]*=[[:space:]]*\([^,]*\).*$/\1/p''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ISSUER=rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ -n rootca-ingress-custom ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + break' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + [[ rootca-ingress-custom != \r\o\o\t\c\a\-\i\n\g\r\e\s\s\-\c\u\s\t\o\m ]]' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + ''['' 1 -eq 1 '']''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + echo ''All certificates match the custom issuer rootca-ingress-custom''' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | + exit 0' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | All certificates match the custom issuer rootca-ingress-custom' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/10-rotate-service-certs | test step completed 10-rotate-service-certs' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | starting test step 11-cleanup' - ' logger.go:42: 12:48:56 | ctlplane-tls-custom-issuers/11-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io "rootca-internal-custom" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | issuer.cert-manager.io "rootca-ingress-custom" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:48:57 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:48:58 | ctlplane-tls-custom-issuers/11-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:49:04 | ctlplane-tls-custom-issuers/11-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers/11-cleanup | test step completed 11-cleanup' - ' logger.go:42: 12:49:29 | ctlplane-tls-custom-issuers | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (970.91s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-tls-custom-issuers (968.83s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ cut -d / -f 2 - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ cut -d / -f 1 - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 16m - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ oc apply -f - - ++ cat - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:49:57 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:49:57 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:49:58 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:49:58 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:49:59 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:49:59 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:49:59 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/ctlplane-tls-custom-route - === PAUSE kuttl/harness/ctlplane-tls-custom-route - === CONT kuttl/harness/ctlplane-tls-custom-route - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Ignoring README.md as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | starting test step 1-deploy-openstack' - ' logger.go:42: 12:49:59 | ctlplane-tls-custom-route/1-deploy-openstack | running command: [sh -c oc kustomize ../../../../config/samples/base/openstackcontrolplane | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | Warning: spec.galera.template[openstack-cell1].storageRequest: 500M is not appropriate for production! For production use at least 5G!' - ' logger.go:42: 12:50:00 | ctlplane-tls-custom-route/1-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack created' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/1-deploy-openstack | test step completed 1-deploy-openstack' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | starting test step 2-deploy-custom-route-secret' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c source ../../common/create_custom_cert.sh' - ' INGRESS_DOMAIN=$(oc get ingresses.config.openshift.io cluster -o jsonpath=''{.spec.domain}'')' - ' create_barbican_placement_routes "${INGRESS_DOMAIN}" "${NAMESPACE}"' - ' ]' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route certificates for barbican and placement...' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Setting up custom certificate infrastructure in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating self-signed issuer in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:02 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: resource issuers/selfsigned-issuer is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer configured' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''issuer/selfsigned-issuer'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/selfsigned-issuer condition met' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Self-signed issuer is ready' - ' logger.go:42: 12:54:03 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-ingress-custom in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom unchanged' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/rootca-ingress-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-ingress-custom condition met' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-ingress-custom is ready' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom created' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''issuer/rootca-ingress-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-ingress-custom condition met' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-ingress-custom is ready' - ' logger.go:42: 12:54:04 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom root CA and issuer: rootca-internal-custom in namespace openstack-kuttl-tests...' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom unchanged' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/rootca-internal-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/rootca-internal-custom condition met' - ' logger.go:42: 12:54:05 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Root CA certificate rootca-internal-custom is ready' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom created' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''issuer/rootca-internal-custom'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | issuer.cert-manager.io/rootca-internal-custom condition met' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom issuer rootca-internal-custom is ready' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Custom certificate infrastructure setup complete' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for barbican...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate barbican-custom-route-cert for *.apps-crc.testing...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert created' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/barbican-custom-route-cert'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/barbican-custom-route-cert condition met' - ' logger.go:42: 12:54:06 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate barbican-custom-route-cert is ready' - ' logger.go:42: 12:54:08 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret barbican-custom-route...' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/barbican-custom-route created' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret barbican-custom-route created successfully' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating custom route certificate for placement...' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating wildcard certificate placement-custom-route-cert for *.apps-crc.testing...' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert created' - ' logger.go:42: 12:54:09 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for ''certificate/placement-custom-route-cert'' in namespace ''openstack-kuttl-tests'' to become ''condition=Ready''...' - ' logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | certificate.cert-manager.io/placement-custom-route-cert condition met' - ' logger.go:42: 12:54:10 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Wildcard certificate placement-custom-route-cert is ready' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating route-compatible secret placement-custom-route...' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | secret/placement-custom-route created' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificate secret placement-custom-route created successfully' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Route certificates created successfully' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - barbican-custom-route' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | - placement-custom-route' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | running command: [sh -c # Generate ConfigMap for kustomize from the placement-custom-route secret' - ' bash ../../common/prepare_placement_certs.sh' - ' ]' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Waiting for placement-custom-route secret to be created...' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Secret placement-custom-route found in namespace openstack-kuttl-tests' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Fetching certificates from placement-custom-route secret and creating ConfigMap...' - ' logger.go:42: 12:54:12 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | Creating ConfigMap file at: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | configmap/placement-cert-data created' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | ConfigMap placement-cert-data created at /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/common/../../../config/samples/tls/custom_route_cert/placement-cert-data.yaml and applied to namespace openstack-kuttl-tests' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | This file will be used by kustomize as a resource' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/2-deploy-custom-route-secret | test step completed 2-deploy-custom-route-secret' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | starting test step 3-deploy-openstack' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | running command: [sh -c # Apply OpenStackControlPlane with kustomize (ConfigMap was created in step 02)' - ' oc kustomize ../../../../config/samples/tls/custom_route_cert | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:54:13 | ctlplane-tls-custom-route/3-deploy-openstack | configmap/placement-cert-data unchanged' - ' logger.go:42: 12:54:14 | ctlplane-tls-custom-route/3-deploy-openstack | openstackcontrolplane.core.openstack.org/openstack configured' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/3-deploy-openstack | test step completed 3-deploy-openstack' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | starting test step 4-' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo "Checking barbican custom route certificate..."' - ' bash ../../common/osp_check_route_cert.sh "barbican"' - ' ]' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking barbican custom route certificate...' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | TLS data matches for route barbican in namespace openstack-kuttl-tests.' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | running command: [sh -c echo "Checking placement custom route certificate..."' - ' bash ../../common/osp_check_route_cert.sh "placement"' - ' ]' - ' logger.go:42: 12:54:38 | ctlplane-tls-custom-route/4- | Checking placement custom route certificate...' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | TLS data matches for route placement in namespace openstack-kuttl-tests.' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | running command: [sh -c echo "Verifying placement route override certificates in OpenStackControlPlane..."' - ' bash ../../common/verify_route_override_certs.sh "placement"' - ' ]' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates in OpenStackControlPlane...' - ' logger.go:42: 12:54:39 | ctlplane-tls-custom-route/4- | Verifying placement route override certificates...' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | ✓ All certificates match for placement' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/4- | test step completed 4-' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | starting test step 5-cleanup' - ' logger.go:42: 12:54:40 | ctlplane-tls-custom-route/5-cleanup | running command: [sh -c oc delete --ignore-not-found=true -n $NAMESPACE pvc \' - ' srv-swift-storage-0' - ' oc delete --ignore-not-found=true -n $NAMESPACE issuer rootca-internal-custom rootca-ingress-custom' - ' oc delete secret --ignore-not-found=true combined-ca-bundle -n $NAMESPACE' - ' oc delete secret -l service-cert -n $NAMESPACE' - ' oc delete secret -l ca-cert -n $NAMESPACE' - ' ]' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io "rootca-internal-custom" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | issuer.cert-manager.io "rootca-ingress-custom" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "combined-ca-bundle" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-barbican-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-barbican-public-route" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-barbican-public-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ceilometer-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-cinder-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-cinder-public-route" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-cinder-public-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-galera-openstack-cell1-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-galera-openstack-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-glance-default-internal-svc" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-glance-default-public-route" deleted' - ' logger.go:42: 12:54:41 | ctlplane-tls-custom-route/5-cleanup | secret "cert-glance-default-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-keystone-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-keystone-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-keystone-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-kube-state-metrics-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-memcached-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-neutron-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-novncproxy-cell1-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-novncproxy-cell1-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-novncproxy-cell1-vencrypt" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-nova-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovn-metrics" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovndbcluster-nb-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovndbcluster-sb-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-ovnnorthd-ovndbs" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-placement-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-placement-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-placement-public-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-rabbitmq-cell1-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-rabbitmq-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-swift-internal-svc" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-swift-public-route" deleted' - ' logger.go:42: 12:54:42 | ctlplane-tls-custom-route/5-cleanup | secret "cert-swift-public-svc" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-internal" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-libvirt" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-ovn" deleted' - ' logger.go:42: 12:54:48 | ctlplane-tls-custom-route/5-cleanup | secret "rootca-public" deleted' - ' logger.go:42: 12:55:14 | ctlplane-tls-custom-route/5-cleanup | test step completed 5-cleanup' - ' logger.go:42: 12:55:14 | ctlplane-tls-custom-route | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (316.75s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/ctlplane-tls-custom-route (314.80s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-sb-etc-ovn-ovsdbserver-sb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-internal-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-internal-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-internal-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-internal-api-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/swift-swift-storage-0 - ++ cut -d / -f 2 - + NAME=swift-swift-storage-0 - + oc delete -n openstack-kuttl-tests pvc/swift-swift-storage-0 --ignore-not-found - persistentvolumeclaim "swift-swift-storage-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/mysql-db-openstack-cell1-galera-0 - ++ cut -d / -f 2 - + NAME=mysql-db-openstack-cell1-galera-0 - + oc delete -n openstack-kuttl-tests pvc/mysql-db-openstack-cell1-galera-0 --ignore-not-found - persistentvolumeclaim "mysql-db-openstack-cell1-galera-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - ++ cut -d / -f 2 - + NAME=ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 - + oc delete -n openstack-kuttl-tests pvc/ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0 --ignore-not-found - persistentvolumeclaim "ovndbcluster-nb-etc-ovn-ovsdbserver-nb-0" deleted - + for pvc in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | grep Bound | awk '{print $6}'` - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 1 - + NS=openstack-kuttl-tests - ++ echo openstack-kuttl-tests/glance-glance-default-external-api-0 - ++ cut -d / -f 2 - + NAME=glance-glance-default-external-api-0 - + oc delete -n openstack-kuttl-tests pvc/glance-glance-default-external-api-0 --ignore-not-found - persistentvolumeclaim "glance-glance-default-external-api-0" deleted - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 5m29s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:55:40 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:55:40 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:55:40 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:55:41 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:55:41 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:55:41 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-create-test - === PAUSE kuttl/harness/dataplane-create-test - === CONT kuttl/harness/dataplane-create-test - ' logger.go:42: 12:55:41 | dataplane-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 12:55:41 | dataplane-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-ipam created' - ' logger.go:42: 12:55:43 | dataplane-create-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 12:55:43 | dataplane-create-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (3.80s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-create-test (2.14s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 12s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ tr '\n' ' ' - ++ head -c-1 - ++ sed -e 's|node/||' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 12:56:04 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 12:56:04 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 12:56:05 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 12:56:05 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 12:56:05 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 12:56:05 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 12:56:06 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-global-service-test - === PAUSE kuttl/harness/dataplane-deploy-global-service-test - === CONT kuttl/harness/dataplane-deploy-global-service-test - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********le created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********ey created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | Secret:op**********et updated' - 'Warning: unknown field "spec.label"' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-global-service created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 12:56:06 | dataplane-deploy-global-service-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-global created' - ' logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | starting test step 1-dataplane-deploy' - ' logger.go:42: 12:56:17 | dataplane-deploy-global-service-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-global created' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/1-dataplane-deploy | test step completed 1-dataplane-deploy' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | starting test step 2-add-nodeset' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created' - ' logger.go:42: 12:57:57 | dataplane-deploy-global-service-test/2-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created' - ' logger.go:42: 12:59:49 | dataplane-deploy-global-service-test/2-add-nodeset | test step completed 2-add-nodeset' - ' logger.go:42: 12:59:49 | dataplane-deploy-global-service-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (224.79s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-global-service-test (223.27s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 3m52s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:00:11 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:00:11 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:00:11 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:00:12 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:00:12 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:00:12 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-multiple-secrets - === PAUSE kuttl/harness/dataplane-deploy-multiple-secrets - === CONT kuttl/harness/dataplane-deploy-multiple-secrets - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Ignoring certs.yaml as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/generic-service1 created' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovr created' - ' logger.go:42: 13:00:12 | dataplane-deploy-multiple-secrets/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | starting test step 1-create-cert-issuers' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | running command: [sh -c function wait_for() {' - ' timeout=$1' - ' shift 1' - ' until [ $timeout -le 0 ] || ("$@" &> /dev/null); do' - ' echo waiting for "$@"' - ' sleep 1' - ' timeout=$(( timeout - 1 ))' - ' done' - ' if [ $timeout -le 0 ]; then' - ' return 1' - ' fi' - ' }' - ' ' - ' if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi' - ' oc apply -f ./certs.yaml' - ' wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests' - ' CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r ''.data."ca.crt"'')' - ' oc create secret generic combined-ca-bundle -n openstack-kuttl-tests --from-literal=TLSCABundleFile=$CA_CRT' - ' ]' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Error from server (NotFound): secrets "combined-ca-bundle" not found' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer created' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | Warning: spec.privateKey.rotationPolicy: In cert-manager >= v1.18.0, the default value changed from `Never` to `Always`.' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca created' - ' logger.go:42: 13:00:34 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal created' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | secret/combined-ca-bundle created' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/1-create-cert-issuers | test step completed 1-create-cert-issuers' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | starting test step 2-dataplane-deploy' - 'Warning: unknown field "spec.services"' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets "cert-generic-service1-default-edpm-compute-0" not found' - ' logger.go:42: 13:00:35 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: ' - ' logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | Error from server (NotFound): secrets "cert-generic-service1-default-edpm-compute-0" not found' - ' logger.go:42: 13:00:36 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | bad match: ' - ' logger.go:42: 13:00:37 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:39 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:40 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:41 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:42 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:43 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:45 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:46 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:47 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:48 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:49 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:51 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | running command: [sh -c template=''{{index .metadata.annotations "cert-manager.io/alt-names" }}''' - ' names=$(oc get secret cert-generic-service1-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets/2-dataplane-deploy | test step completed 2-dataplane-deploy' - ' logger.go:42: 13:00:52 | dataplane-deploy-multiple-secrets | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (41.27s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-multiple-secrets (39.74s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 49s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ tr '\n' ' ' - ++ head -c-1 - ++ sed -e 's|node/||' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:01:12 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:01:12 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:01:13 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:01:13 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:01:14 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:01:14 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:01:14 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-no-nodes-test - === PAUSE kuttl/harness/dataplane-deploy-no-nodes-test - === CONT kuttl/harness/dataplane-deploy-no-nodes-test - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/ovncontroller-config created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ig created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********ey created' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | Secret:op**********et updated' - ' logger.go:42: 13:01:14 | dataplane-deploy-no-nodes-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | starting test step 1-dataplane-deploy' - ' logger.go:42: 13:01:26 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/1-dataplane-deploy | test step completed 1-dataplane-deploy' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | starting test step 2-dataplane-deploy-services-override' - 'Warning: unknown field "spec.label"' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-svc created' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-ovrd created' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/2-dataplane-deploy-services-override | test step completed 2-dataplane-deploy-services-override' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | starting test step 3-update-ovn-cm' - ' logger.go:42: 13:02:47 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | running command: [sh -c sleep 30]' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | ConfigMap:openstack-kuttl-tests/ovncontroller-config updated' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/3-update-ovn-cm | test step completed 3-update-ovn-cm' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | starting test step 4-dataplane-deploy' - ' logger.go:42: 13:03:17 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-updated-ovn-cm created' - ' logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/4-dataplane-deploy | test step completed 4-dataplane-deploy' - ' logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | starting test step 5-dataplane-deploy-service-not-found' - ' logger.go:42: 13:03:23 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes-non-existent-service created' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/5-dataplane-deploy-service-not-found | test step completed 5-dataplane-deploy-service-not-found' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | starting test step 6-add-nodeset' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-beta-nodeset created' - ' logger.go:42: 13:03:24 | dataplane-deploy-no-nodes-test/6-add-nodeset | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-multinodeset created' - ' logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/6-add-nodeset | test step completed 6-add-nodeset' - ' logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | starting test step 7-dataplane-deploy-node-selector' - ' logger.go:42: 13:05:01 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-node-selection created' - ' logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test/7-dataplane-deploy-node-selector | test step completed 7-dataplane-deploy-node-selector' - ' logger.go:42: 13:05:02 | dataplane-deploy-no-nodes-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (229.88s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-no-nodes-test (228.12s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 3m57s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:05:24 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:05:24 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:05:25 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:05:25 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:05:26 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:05:26 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:05:26 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-deploy-tls-test - === PAUSE kuttl/harness/dataplane-deploy-tls-test - === CONT kuttl/harness/dataplane-deploy-tls-test - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Ignoring certs.yaml as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dnsnames created' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd created' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 13:05:26 | dataplane-deploy-tls-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | starting test step 1-create-cert-issuers' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | running command: [sh -c function wait_for() {' - ' timeout=$1' - ' shift 1' - ' until [ $timeout -le 0 ] || ("$@" &> /dev/null); do' - ' echo waiting for "$@"' - ' sleep 1' - ' timeout=$(( timeout - 1 ))' - ' done' - ' if [ $timeout -le 0 ]; then' - ' return 1' - ' fi' - ' }' - ' ' - ' if oc get secret combined-ca-bundle -n openstack-kuttl-tests; then oc delete secret combined-ca-bundle -n openstack-kuttl-tests; fi' - ' oc apply -f ./certs.yaml' - ' wait_for 100 oc get secret osp-rootca-secret -n openstack-kuttl-tests' - ' CA_CRT=$(oc get secret osp-rootca-secret -n openstack-kuttl-tests -o json|jq -r ''.data."ca.crt"'')' - ' oc create secret generic combined-ca-bundle -n openstack-kuttl-tests --from-literal=tls-ca-bundle.pem=$CA_CRT' - ' ]' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | NAME TYPE DATA AGE' - ' logger.go:42: 13:05:37 | dataplane-deploy-tls-test/1-create-cert-issuers | combined-ca-bundle Opaque 1 5m2s' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | secret "combined-ca-bundle" deleted' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/selfsigned-issuer unchanged' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | certificate.cert-manager.io/osp-rootca unchanged' - ' logger.go:42: 13:05:38 | dataplane-deploy-tls-test/1-create-cert-issuers | issuer.cert-manager.io/rootca-internal unchanged' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | secret/combined-ca-bundle created' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/1-create-cert-issuers | test step completed 1-create-cert-issuers' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | starting test step 2-dataplane-deploy' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls created' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:39 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:40 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:41 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:42 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:43 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:44 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:45 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:46 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:47 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:48 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:50 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:51 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:52 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:54 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate tls-dnsnames-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/2-dataplane-deploy | test step completed 2-dataplane-deploy' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | starting test step 3-dataplane-deploy-services-override' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/tls-dns-ips created' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/custom-tls-dns created' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneService:openstack-kuttl-tests/install-certs-ovrd updated' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | OpenStackDataPlaneDeployment:openstack-kuttl-tests/openstack-edpm-tls-ovrd created' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:55 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | Error from server (NotFound): certificates.cert-manager.io "custom-tls-dns-default-edpm-compute-0" not found' - ' logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | bad dnsnames match: ' - ' logger.go:42: 13:05:56 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | command failure, skipping 1 additional commands' - ' logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:57 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:58 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:05:59 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:01 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:02 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:03 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:05 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:06 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:08 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:09 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:10 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:12 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:13 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:14 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:16 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:17 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.dnsNames }}''' - ' names=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $names > test123.data' - ' regex="(?=.*(edpm-compute-0\.internalapi\.example\.com))(?=.*(edpm-compute-0\.storage\.example\.com))(?=.*(edpm-compute-0\.tenant\.example\.com))(?=.*(edpm-compute-0\.ctlplane\.example\.com))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad dnsnames match: $names"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:18 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | running command: [sh -c template=''{{index .spec.usages }}''' - ' usages=$(oc get certificate custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o go-template="$template")' - ' echo $usages > test123.data' - ' regex="(?=.*(key encipherment))(?=.*(digital signature))(?=.*(server auth))(?=.*(client auth))"' - ' matches=$(grep -P "$regex" test123.data)' - ' rm test123.data' - ' if [ -z "$matches" ]; then' - ' echo "bad usages match: $usages"' - ' exit 1' - ' else' - ' exit 0' - ' fi' - ' ]' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/3-dataplane-deploy-services-override | test step completed 3-dataplane-deploy-services-override' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | starting test step 4-rotate-certs' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | running command: [oc delete -n openstack-kuttl-tests secrets cert-custom-tls-dns-default-edpm-compute-0 cert-tls-dns-ips-default-edpm-compute-0]' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret "cert-custom-tls-dns-default-edpm-compute-0" deleted' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | secret "cert-tls-dns-ips-default-edpm-compute-0" deleted' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/4-rotate-certs | test step completed 4-rotate-certs' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | starting test step 5-dataplane-redeploy' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | OpenStackDataPlaneDeployment:openstack-kuttl-tests/certs-refresh created' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:19 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:21 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:22 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:23 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:24 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:25 | dataplane-deploy-tls-test/5-dataplane-redeploy | Waiting for successful ansibleee pod' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | running command: [sh -c PNAME=`oc get pod -l job-name=install-certs-ovrd-certs-refresh-openstack-edpm-tls --field-selector status.phase=Succeeded -n openstack-kuttl-tests -o name`' - ' echo $PNAME' - ' if [ -z "$PNAME" ]; then' - ' echo "Waiting for successful ansibleee pod"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-custom-tls-dns-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/custom-tls-dns/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-custom-tls-dns-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' serial1=`oc get secret cert-tls-dns-ips-default-edpm-compute-0 -n openstack-kuttl-tests -o json|jq -r ''.data."tls.crt"''|base64 -d |openssl x509 -noout -serial`' - ' echo "serial1:" $serial1' - ' serial2=`oc debug $PNAME -n openstack-kuttl-tests -- cat /var/lib/openstack/certs/tls-dns-ips/default/edpm-compute-0.ctlplane.example.com-tls.crt |openssl x509 -noout -serial`' - ' echo "serial2:" $serial2' - ' if [ $serial1 != $serial2 ]; then' - ' echo "serials for cert-tls-dns-ips-default-edpm-compute-0 not equal"' - ' exit 1' - ' fi' - ' ' - ' exit 0' - ' ]' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=4B1E244450A4005B45606430C180271D' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod''s hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]' - ' logger.go:42: 13:06:26 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-bm6z8 ...' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=4B1E244450A4005B45606430C180271D' - ' logger.go:42: 13:06:28 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial1: serial=B9466059D5B3A04CA0D53314A1F54F18' - ' logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Warning: metadata.name: this is used in the Pod''s hostname, which can result in surprising behavior; a DNS label is recommended: [must be no more than 63 characters]' - ' logger.go:42: 13:06:29 | dataplane-deploy-tls-test/5-dataplane-redeploy | Starting pod/install-certs-ovrd-certs-refresh-openstack-edpm-tls-bxrg5-debug-pcs86 ...' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | ' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | Removing debug pod ...' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | serial2: serial=B9466059D5B3A04CA0D53314A1F54F18' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test/5-dataplane-redeploy | test step completed 5-dataplane-redeploy' - ' logger.go:42: 13:06:31 | dataplane-deploy-tls-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (67.02s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-deploy-tls-test (65.42s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 74s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ oc apply -f - - ++ cat - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:06:52 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:06:52 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:06:53 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:06:53 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:06:54 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:06:54 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:06:54 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-extramounts - === PAUSE kuttl/harness/dataplane-extramounts - === CONT kuttl/harness/dataplane-extramounts - ' logger.go:42: 13:06:54 | dataplane-extramounts | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | starting test step 0-dataplane-create' - 'Warning: unknown field "spec.label"' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/test-service created' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-extramounts created' - ' logger.go:42: 13:06:54 | dataplane-extramounts/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-extramounts created' - ' logger.go:42: 13:07:09 | dataplane-extramounts/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:07:09 | dataplane-extramounts | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (16.82s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-extramounts (15.21s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 24s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ oc apply -f - - ++ cat - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:07:30 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:07:30 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:07:31 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:07:31 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:07:31 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:07:31 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:07:32 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-multinode-nodeset-create-test - === PAUSE kuttl/harness/dataplane-multinode-nodeset-create-test - === CONT kuttl/harness/dataplane-multinode-nodeset-create-test - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | ConfigMap:openstack-kuttl-tests/network-config-template created' - ' logger.go:42: 13:07:32 | dataplane-multinode-nodeset-create-test/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode created' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | starting test step 1-dataplane-scale-in' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | running command: [sh -c oc patch openstackdataplanenodeset/openstack-edpm-multinode -n openstack-kuttl-tests --type json --patch ''[{ "op": "remove", "path": "/spec/nodes/edpm-compute-1" }]''' - ' ]' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | openstackdataplanenodeset.dataplane.openstack.org/openstack-edpm-multinode patched' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/1-dataplane-scale-in | test step completed 1-dataplane-scale-in' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | starting test step 2-dataplane-scale-out' - ' logger.go:42: 13:07:53 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/openstack-edpm-multinode updated' - ' logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test/2-dataplane-scale-out | test step completed 2-dataplane-scale-out' - ' logger.go:42: 13:08:15 | dataplane-multinode-nodeset-create-test | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (44.91s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-multinode-nodeset-create-test (43.19s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ grep Bound - ++ awk '{print $6}' - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $1}' - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 53s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:08:37 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:08:37 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:08:37 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:08:38 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:08:38 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:08:38 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-service-config - === PAUSE kuttl/harness/dataplane-service-config - === CONT kuttl/harness/dataplane-service-config - ' logger.go:42: 13:08:38 | dataplane-service-config | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | starting test step 0-create' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-0 created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-1 created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | ConfigMap:openstack-kuttl-tests/kuttl-service-cm-2 created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/kuttl-service created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:08:38 | dataplane-service-config/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:09:00 | dataplane-service-config/0-create | test step completed 0-create' - ' logger.go:42: 13:09:00 | dataplane-service-config | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (22.90s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-service-config (21.27s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ awk '{print $1}' - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 30s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ oc apply -f - - ++ cat - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:09:20 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:09:20 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:09:21 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:09:21 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:09:21 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:09:21 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:09:22 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-service-custom-image - === PAUSE kuttl/harness/dataplane-service-custom-image - === CONT kuttl/harness/dataplane-service-custom-image - ' logger.go:42: 13:09:22 | dataplane-service-custom-image | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | starting test step 0-dataplane-create' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneService:openstack-kuttl-tests/custom-img-svc created' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-no-nodes-custom-svc created' - ' logger.go:42: 13:09:22 | dataplane-service-custom-image/0-dataplane-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:09:37 | dataplane-service-custom-image/0-dataplane-create | test step completed 0-dataplane-create' - ' logger.go:42: 13:09:37 | dataplane-service-custom-image | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (17.04s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-service-custom-image (15.25s)' - PASS - No resources found - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage_cleanup.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/cleanup-crc-pv.sh - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - ++ awk '{print $6}' - ++ grep Bound - ++ awk '{print $1}' - ++ oc get pv --selector provisioned-by=crc-devsetup --no-headers - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage01-crc - persistentvolume "local-storage01-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage02-crc - persistentvolume "local-storage02-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage03-crc - persistentvolume "local-storage03-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage04-crc - persistentvolume "local-storage04-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage05-crc - persistentvolume "local-storage05-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage06-crc - persistentvolume "local-storage06-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage07-crc - persistentvolume "local-storage07-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage08-crc - persistentvolume "local-storage08-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage09-crc - persistentvolume "local-storage09-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage10-crc - persistentvolume "local-storage10-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage11-crc - persistentvolume "local-storage11-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage12-crc - persistentvolume "local-storage12-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage13-crc - persistentvolume "local-storage13-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage14-crc - persistentvolume "local-storage14-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage15-crc - persistentvolume "local-storage15-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage16-crc - persistentvolume "local-storage16-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage17-crc - persistentvolume "local-storage17-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage18-crc - persistentvolume "local-storage18-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage19-crc - persistentvolume "local-storage19-crc" deleted - + for pv in `oc get pv --selector provisioned-by=crc-devsetup --no-headers | awk '{print $1}'` - + oc delete pv/local-storage20-crc - persistentvolume "local-storage20-crc" deleted - if oc get sc "local-storage"; then oc delete sc "local-storage"; fi - NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE - local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer true 24s - storageclass.storage.k8s.io "local-storage" deleted - bash scripts/delete-pv.sh - +++ dirname scripts/delete-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc delete - ++ set -ex - ++ NODE=crc - ++ OPERATION=delete - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/retry_make_crc_storage.sh 3 - 'make[3]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z crc-storage ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/crc-storage - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc-storage ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc-storage/namespace.yaml - namespace/crc-storage unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io crc-storage); do sleep 1; done" - NAME DISPLAY NAME STATUS - crc-storage Active - oc project crc-storage - Already on project "crc-storage" on server "https://api.crc.testing:6443". - bash scripts/create-pv.sh - +++ dirname scripts/create-pv.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_common.sh - ++ set -ex - ++ OPERATION=create - ++ cat - ++ oc apply -f - - configmap/crc-storage unchanged - ++ cat - ++ oc apply -f - - serviceaccount/crc-storage unchanged - ++ cat - ++ oc apply -f - - role.rbac.authorization.k8s.io/crc-storage-role unchanged - ++ cat - ++ oc apply -f - - rolebinding.rbac.authorization.k8s.io/crc-storage-rolebinding unchanged - + PV_NUM=20 - + TIMEOUT=500s - ++ oc get pv -o json - ++ jq -r '.items[] | select(.status.phase | test("Released")).metadata.name' - + released= - ++ oc get node -o template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' -l node-role.kubernetes.io/worker - + NODE_NAMES=crc - + '[' -z crc ']' - + for node in $NODE_NAMES - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/storage_apply.sh crc create - ++ set -ex - ++ NODE=crc - ++ OPERATION=create - ++ oc delete -n crc-storage job crc-storage-crc --ignore-not-found - job.batch "crc-storage-crc" deleted - ++ cat - ++ oc apply -f - - 'Warning: would violate PodSecurity "restricted:latest": privileged (container "storage" must not set securityContext.privileged=true), allowPrivilegeEscalation != false (container "storage" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "storage" must set securityContext.capabilities.drop=["ALL"]), restricted volume types (volume "node-mnt" uses restricted volume type "hostPath"), runAsNonRoot != true (pod or container "storage" must set securityContext.runAsNonRoot=true), runAsUser=0 (pod and container "storage" must not set runAsUser=0)' - job.batch/crc-storage-crc created - + oc wait job -n crc-storage -l install-yamls.crc.storage --for condition=Complete --timeout 500s - job.batch/crc-storage-crc condition met - bash scripts/gen-crc-pv-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z '"local-storage"' ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/crc ']' - + PV_NUM=20 - + STORAGE_CAPACITY=10 - ++ oc get node -o name -l node-role.kubernetes.io/worker - ++ head -c-1 - ++ sed -e 's|node/||' - ++ tr '\n' ' ' - + NODE_NAMES=crc - + '[' -z crc ']' - + cat - + for node in $NODE_NAMES - ++ seq -w 20 - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + for i in `seq -w $PV_NUM` - + cat - ++ sed -e 's/^"//' -e 's/"$//' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/crc/storage.yaml - storageclass.storage.k8s.io/local-storage created - persistentvolume/local-storage01-crc created - persistentvolume/local-storage02-crc created - persistentvolume/local-storage03-crc created - persistentvolume/local-storage04-crc created - persistentvolume/local-storage05-crc created - persistentvolume/local-storage06-crc created - persistentvolume/local-storage07-crc created - persistentvolume/local-storage08-crc created - persistentvolume/local-storage09-crc created - persistentvolume/local-storage10-crc created - persistentvolume/local-storage11-crc created - persistentvolume/local-storage12-crc created - persistentvolume/local-storage13-crc created - persistentvolume/local-storage14-crc created - persistentvolume/local-storage15-crc created - persistentvolume/local-storage16-crc created - persistentvolume/local-storage17-crc created - persistentvolume/local-storage18-crc created - persistentvolume/local-storage19-crc created - persistentvolume/local-storage20-crc created - persistentvolumeclaim/ansible-ee-logs unchanged - 'make[3]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make[2]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - '2025/12/03 13:09:59 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' logger.go:42: 13:09:59 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_netconfig.yaml]' - ' logger.go:42: 13:10:00 | | netconfig.network.openstack.org/netconfig configured' - ' logger.go:42: 13:10:00 | | running command: [oc apply -n openstack-kuttl-tests -f https://raw.githubusercontent.com/openstack-k8s-operators/infra-operator/main/config/samples/network_v1beta1_dnsmasq.yaml]' - ' logger.go:42: 13:10:01 | | dnsmasq.network.openstack.org/dnsmasq configured' - ' logger.go:42: 13:10:01 | | running command: [sh -c if [ ! -f ansibleee-ssh-key-id_rsa ]; then' - ' ssh-keygen -f ansibleee-ssh-key-id_rsa -N "" -t rsa -b 4096' - ' fi' - ' oc create secret generic dataplane-ansible-ssh-private-key-secret \' - ' --save-config \' - ' --dry-run=client \' - ' --from-file=authorized_keys=ansibleee-ssh-key-id_rsa.pub \' - ' --from-file=ssh-privatekey=an**********sa \' - ' --from-file=ssh-publickey=ansibleee-ssh-key-id_rsa.pub \' - ' -n openstack-kuttl-tests \' - ' -o yaml | \' - ' oc apply -f -' - ' ]' - ' logger.go:42: 13:10:01 | | secret/dataplane-ansible-ssh-private-key-secret configured' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 1380 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests has 19 tests' - === RUN kuttl/harness - === RUN kuttl/harness/dataplane-service-failure - === PAUSE kuttl/harness/dataplane-service-failure - === CONT kuttl/harness/dataplane-service-failure - ' logger.go:42: 13:10:01 | dataplane-service-failure | Skipping creation of user-supplied namespace: openstack-kuttl-tests' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | starting test step 0-create' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneService:openstack-kuttl-tests/failed-service created' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneNodeSet:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:10:01 | dataplane-service-failure/0-create | OpenStackDataPlaneDeployment:openstack-kuttl-tests/edpm-compute-no-nodes created' - ' logger.go:42: 13:11:43 | dataplane-service-failure/0-create | test step completed 0-create' - ' logger.go:42: 13:11:43 | dataplane-service-failure | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- PASS: kuttl (103.90s)' - ' --- PASS: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/dataplane-service-failure (102.23s)' - PASS - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make openstack_deploy_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/namespace.yaml - namespace/openstack-kuttl-tests unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-kuttl-tests Active - oc project openstack-kuttl-tests - Now using project "openstack-kuttl-tests" on server "https://api.crc.testing:6443". - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/infra/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr | oc delete --ignore-not-found=true -f - || true - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-kuttl-tests/openstack/cr - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make openstack_cleanup - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - namespace/openstack-operators unchanged - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/openstack/op - '# TODO: Once https://issues.redhat.com/browse/OSPRH-13217 is properly resolved, the' - '# explicit calls to "oc delete" the webhooks can be removed below' - if oc get openstack &>/dev/null; then oc delete --ignore-not-found=true openstack/openstack \ - '&& oc delete mutatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator \' - '&& oc delete validatingwebhookconfiguration -l app.kubernetes.io/created-by=openstack-operator; fi' - openstack.operator.openstack.org "openstack" deleted - No resources found - No resources found - oc delete subscription --all=true - subscription.operators.coreos.com "openstack-operator" deleted - oc delete csv --all=true - clusterserviceversion.operators.coreos.com "cluster-observability-operator.v1.3.0" deleted - clusterserviceversion.operators.coreos.com "metallb-operator.v4.18.0-202511181540" deleted - clusterserviceversion.operators.coreos.com "openstack-operator.v0.5.0" deleted - oc delete catalogsource --all=true - catalogsource.operators.coreos.com "openstack-operator-index" deleted - test -d /home/zuul/ci-framework-data/artifacts/manifests/operator/baremetal-operator && make crc_bmo_cleanup || true - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - ~/ci-framework-data/artifacts mirror_path: changed: false failed: false stat: atime: 1764760620.59329 attr_flags: '' attributes: [] block_size: 4096 blocks: 16 charset: us-ascii checksum: 92d92a03afdddee82732741071f662c729080c35 ctime: 1764760620.59729 dev: 64513 device_type: 0 executable: false exists: true gid: 0 gr_name: root inode: 10261 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mimetype: text/x-shellscript mode: '0644' mtime: 1764760620.15829 nlink: 1 path: /etc/ci/mirror_info.sh pw_name: root readable: true rgrp: true roth: true rusr: true size: 4482 uid: 0 version: '3059337196' wgrp: false woth: false writeable: false wusr: true xgrp: false xoth: false xusr: false module_setup: true omit: __omit_place_holder__36c4acaa7719cd8cc020b2df2a3d2c50e219ea7b openstack_namespace: openstack play_hosts: *id002 playbook_dir: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl playbook_path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/hooks/playbooks/kuttl_openstack_prep.yml playbook_stat: changed: false failed: false stat: atime: 1764761322.1474416 attr_flags: '' attributes: [] block_size: 4096 blocks: 8 charset: us-ascii checksum: acf5feed0bc4037553a327f6fe7f2cef5d294791 ctime: 1764761220.5735643 dev: 64513 device_type: 0 executable: false exists: true gid: 1000 gr_name: zuul inode: 25185803 isblk: false ischr: false isdir: false isfifo: false isgid: false islnk: false isreg: true issock: false isuid: false mimetype: text/plain mode: '0644' mtime: 1764760589.8449156 nlink: 1 path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/hooks/playbooks/kuttl_openstack_prep.yml pw_name: zuul readable: true rgrp: true roth: true rusr: true size: 1659 uid: 1000 version: '4083622244' wgrp: false woth: false writeable: true wusr: true xgrp: false xoth: false xusr: false post_ctlplane_deploy: - name: Tune rabbitmq resources source: rabbitmq_tuning.yml type: playbook pre_deploy: - name: Deploy toy ceph source: ceph-deploy.yml type: playbook pre_infra: - connection: local inventory: localhost, name: Download needed tools source: '{{ cifmw_installyamls_repos }}/devsetup/download_tools.yaml' type: playbook pre_kuttl: - inventory: '{{ ansible_user_dir }}/ci-framework-data/artifacts/zuul_inventory.yml' name: Fetch crc facts and save them as parameters for kuttl jobs source: kuttl_openstack_prep.yml type: playbook push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true role_name: artifacts role_names: *id003 role_path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/artifacts role_uuid: fa163ea2-9e9c-e795-941a-00000000048a rr_version: changed: false false_condition: cifmw_repo_setup_enable_rhos_release | bool skip_reason: Conditional result was False skipped: true zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' ansible_version: '8' attempts: 1 branch: main build: 727b8a3d74d1412b8f45f0b1fac4891c build_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null buildset: 5aaec7e89b664b56b85280d171f700d4 buildset_refs: - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 child_jobs: [] commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 event_id: 4ab514e0-d039-11f0-81e0-fb882bdc02c6 executor: hostname: ze03.softwarefactory-project.io inventory_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/ansible/inventory.yaml log_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/logs result_data_file: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/results.json src_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work/src work_root: /var/lib/zuul/builds/727b8a3d74d1412b8f45f0b1fac4891c/work items: - branch: master change: '58488' change_url: https://review.rdoproject.org/r/c/rdo-jobs/+/58488 commit_id: b7327b74f191ac2394d2701b1b8d5509395ae1fb patchset: '1' project: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs name: rdo-jobs short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs topic: null - branch: main change: '3451' change_url: https://github.com/openstack-k8s-operators/ci-framework/pull/3451 commit_id: 2261ed433b240c3ce81443dcd27657d36bfed699 patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework topic: null job: cifmw-multinode-kuttl jobtags: [] max_attempts: 1 message: W211bHRpcGxlXSBNb3ZlIGNpZm13X2Jhc2VkaXIgdmFyIHRvIGdyb3VwX3ZhcnMgCgpUaGUgYGNpZm13X2Jhc2VkaXJgIHZhcmlhYmxlIGlzIG5vdyBleHBlY3RlZCB0byBiZSBkZWZpbmVkIGdyb3VwX3ZhcnMuDQpQcmV2aW91cyBmYWxsYmFjayB0byBgYW5zaWJsZV91c2VyX2RpciB+ICcvY2ktZnJhbWV3b3JrLWRhdGEnYCBoYXMgYmVlbg0KcmVtb3ZlZCBmcm9tIHBsYXlib29rcyBhbmQgcm9sZXMuDQoNClRoaXMgY2hhbmdlIGVuc3VyZXMgY29uc2lzdGVuY3kgYWNyb3NzIHJvbGVzIGFuZCBwcmV2ZW50cyBhY2NpZGVudGFsIHVzZQ0Kb2YgYSBkZWZhdWx0IHBhdGggd2hlbiBgY2lmbXdfYmFzZWRpcmAgaXMgaW50ZW50aW9uYWxseSB1bnNldC4NCg0KVGhpcyBjb21taXQgaXMgb25lIHBhcnQgb2YgYSBzZXQgb2YgY2hhbmdlcy4NCg0KTk9URToNClByb2JhYmx5IHRoaXMgY29tbWl0IHdvdWxkIGJlIHNwbGl0IGludG8gZmV3IHB1bGwgcmVxdWVzdHMuDQoNCk1vcmU6IFtPU1BSSC0yMDQ5MV0oaHR0cHM6Ly9pc3N1ZXMucmVkaGF0LmNvbS8vYnJvd3NlL09TUFJILTIwNDkxKQ0KDQpEZXBlbmRzLU9uOiBodHRwczovL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yL2MvcmRvLWpvYnMvKy81ODQ4OA== patchset: 2261ed433b240c3ce81443dcd27657d36bfed699 pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: 9df4e7d5b028e976203d64479f9b7a76c1c95a24 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 14b37c7112dcbbe48013b78b824825772b01b2c2 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 2261ed433b240c3ce81443dcd27657d36bfed699 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: 40052f923df77143f1c9739304c4b4221346825f untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/playbook_1/role_3/rdo-jobs/roles post_review: false project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework name: openstack-k8s-operators/ci-framework short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework projects: github.com/crc-org/crc-cloud: canonical_hostname: github.com canonical_name: github.com/crc-org/crc-cloud checkout: main checkout_description: project override ref commit: 49d5584967047c568a7e417ac8c7f34e3ae28ba8 name: crc-org/crc-cloud required: true short_name: crc-cloud src_dir: src/github.com/crc-org/crc-cloud github.com/openstack-k8s-operators/ci-framework: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main checkout_description: zuul branch commit: 2261ed433b240c3ce81443dcd27657d36bfed699 name: openstack-k8s-operators/ci-framework required: true short_name: ci-framework src_dir: src/github.com/openstack-k8s-operators/ci-framework github.com/openstack-k8s-operators/edpm-ansible: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/edpm-ansible checkout: main checkout_description: zuul branch commit: e055d0820cb705f856846768f0507c4d53f62762 name: openstack-k8s-operators/edpm-ansible required: true short_name: edpm-ansible src_dir: src/github.com/openstack-k8s-operators/edpm-ansible github.com/openstack-k8s-operators/infra-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator checkout: main checkout_description: zuul branch commit: 1ff40691b66dd893904896b4a00a0cdcd138fdf0 name: openstack-k8s-operators/infra-operator required: true short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator github.com/openstack-k8s-operators/install_yamls: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/install_yamls checkout: main checkout_description: zuul branch commit: 14dc885eaff1841abcc0206a1a21f6e54d9fad7b name: openstack-k8s-operators/install_yamls required: true short_name: install_yamls src_dir: src/github.com/openstack-k8s-operators/install_yamls github.com/openstack-k8s-operators/openstack-baremetal-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-baremetal-operator checkout: main checkout_description: zuul branch commit: fe40bf12d8c6c641c7929a0e49878722e80d6899 name: openstack-k8s-operators/openstack-baremetal-operator required: true short_name: openstack-baremetal-operator src_dir: src/github.com/openstack-k8s-operators/openstack-baremetal-operator github.com/openstack-k8s-operators/openstack-must-gather: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-must-gather checkout: main checkout_description: zuul branch commit: 2da49819dd6af6036aede5e4e9a080ff2c6457de name: openstack-k8s-operators/openstack-must-gather required: true short_name: openstack-must-gather src_dir: src/github.com/openstack-k8s-operators/openstack-must-gather github.com/openstack-k8s-operators/openstack-operator: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator checkout: main checkout_description: zuul branch commit: b102924657dd294d08db769acac26201e395a333 name: openstack-k8s-operators/openstack-operator required: true short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator github.com/openstack-k8s-operators/repo-setup: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/repo-setup checkout: main checkout_description: zuul branch commit: 37b10946c6a10f9fa26c13305f06bfd6867e723f name: openstack-k8s-operators/repo-setup required: true short_name: repo-setup src_dir: src/github.com/openstack-k8s-operators/repo-setup opendev.org/zuul/zuul-jobs: canonical_hostname: opendev.org canonical_name: opendev.org/zuul/zuul-jobs checkout: master checkout_description: project default branch commit: 8081e7652ca2dae5ff5ea55a6ce3d9ce10eb30ad name: zuul/zuul-jobs required: true short_name: zuul-jobs src_dir: src/opendev.org/zuul/zuul-jobs review.rdoproject.org/config: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/config checkout: master checkout_description: project default branch commit: 40052f923df77143f1c9739304c4b4221346825f name: config required: true short_name: config src_dir: src/review.rdoproject.org/config review.rdoproject.org/rdo-jobs: canonical_hostname: review.rdoproject.org canonical_name: review.rdoproject.org/rdo-jobs checkout: master checkout_description: project default branch commit: b7327b74f191ac2394d2701b1b8d5509395ae1fb name: rdo-jobs required: false short_name: rdo-jobs src_dir: src/review.rdoproject.org/rdo-jobs ref: refs/pull/3451/head resources: {} tenant: rdoproject.org timeout: 9000 topic: null voting: true zuul_log_collection: true